summaryrefslogtreecommitdiff
path: root/userspace
diff options
context:
space:
mode:
Diffstat (limited to 'userspace')
-rw-r--r--userspace/fonts/Makefile5
-rw-r--r--userspace/fonts/binarize.py87
-rw-r--r--userspace/fonts/binfont.src1235
-rw-r--r--userspace/foolshell.c24
4 files changed, 1339 insertions, 12 deletions
diff --git a/userspace/fonts/Makefile b/userspace/fonts/Makefile
new file mode 100644
index 0000000..2eeaf37
--- /dev/null
+++ b/userspace/fonts/Makefile
@@ -0,0 +1,5 @@
+############ fool-font ############
+binfont.bin: binfont.src
+ python3.2 binarize.py $< $@
+clean:
+ -rm binfont.bin
diff --git a/userspace/fonts/binarize.py b/userspace/fonts/binarize.py
new file mode 100644
index 0000000..1abb9d6
--- /dev/null
+++ b/userspace/fonts/binarize.py
@@ -0,0 +1,87 @@
+import sys
+
+def binarize(file_in, file_out):
+
+ """ Create a binary file from an ASCII file. Everything
+ but '0' and '1' (alternatively '_' and 'X') is ignored
+ from the input file. """
+
+ print ("binarizing " + file_in + " to "+ file_out + ".")
+
+ try:
+
+ f=open(file_in,'r')
+
+ try:
+
+ o=open(file_out,'wb')
+
+ try:
+
+ while True:
+
+ b=readnext(f)
+ if b==-1:
+ break
+
+ o.write(bytes([b]))
+
+ except IOError:
+ print("IOError happened during processing.");
+ print("I am closing the input and ouput files and aborting.");
+ print("Warning: The output file is very likely incomplete.");
+
+ o.close()
+
+ except IOError:
+ print("IOError opening output file: " + file_out);
+
+ f.close()
+
+ except IOError:
+ print("IOError opening input file: " + file_in);
+
+
+def readnext(f):
+
+ """ Read next 'byte' from the given ASCII file (BufferedWriter)
+ everything but '_','X','0','1' is ignored.
+ Returns the byte as integer or -1 on EOF """
+
+ l=0
+ b=""
+
+ while l<8:
+
+ c=f.read(1)
+
+ if not c:
+ return -1
+
+ if c=="0" or c=='_':
+ l+=1
+ b+="0"
+
+ if c=="1" or c=='X':
+ l+=1
+ b+="1"
+
+ return int(b,2)
+
+def usage():
+
+ """ Prints usage information to sdtout """
+
+ print ("python3.x binarize.py [file_in] [file_out]")
+
+
+
+""" direct use """
+
+if __name__ == "__main__":
+
+ if(len(sys.argv)==3):
+ binarize(sys.argv[1],sys.argv[2])
+ else:
+ usage()
+
diff --git a/userspace/fonts/binfont.src b/userspace/fonts/binfont.src
new file mode 100644
index 0000000..c1d9ccc
--- /dev/null
+++ b/userspace/fonts/binfont.src
@@ -0,0 +1,1235 @@
+
+// space (ox2o)
+
+________
+________
+________
+________
+________
+________
+________
+________
+________
+________
+
+// !
+
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+________
+________
+___XX___
+___XX___
+
+// "
+
+_XX__XX_
+_XX__XX_
+_XX__XX_
+________
+________
+________
+________
+________
+________
+________
+
+// #
+
+________
+__X__X__
+__X__X__
+XXXXXXXX
+__X__X__
+__X__X__
+__X__X__
+XXXXXXXX
+__X__X__
+__X__X__
+
+// $
+
+________
+___X____
+_XXXXXX_
+XX_X__XX
+_XXX____
+__XXXX__
+___X_XX_
+XX_X__XX
+_XXXXXX_
+___X____
+
+// %
+
+______XX
+_X___XX_
+X_X_XX__
+_X__XX__
+___XX___
+___XX___
+__XX__X_
+__XX_X_X
+_XX___X_
+XX______
+
+// &
+
+__X_____
+_X_X____
+X___X___
+_X_X____
+__XX____
+_X_X____
+X___X_X_
+X____X__
+X___X_X_
+_XXX___X
+
+// '
+
+___XX___
+___XX___
+___XX___
+________
+________
+________
+________
+________
+________
+________
+
+// (
+
+___X____
+__X_____
+_X______
+_X______
+X_______
+X_______
+_X______
+_X______
+__X_____
+___X____
+
+// )
+
+___X____
+_____X__
+______X_
+______X_
+_______X
+_______X
+______X_
+______X_
+_____X__
+___X____
+
+// *
+
+________
+________
+X__X__X_
+_X_X_X__
+__XXX___
+XXXXXXX_
+__XXX___
+_X_X_X__
+X__X__X_
+________
+
+// +
+
+________
+________
+___XX___
+___XX___
+XXXXXXXX
+XXXXXXXX
+___XX___
+___XX___
+________
+________
+
+// ,
+
+________
+________
+________
+________
+________
+________
+________
+___XX___
+___XX___
+__XX____
+
+// -
+
+________
+________
+________
+________
+_XXXXXX_
+_XXXXXX_
+________
+________
+________
+________
+
+// .
+
+________
+________
+________
+________
+________
+________
+________
+________
+___XX___
+___XX___
+
+// /
+______XX
+_____XX_
+____XX__
+____XX__
+___XX___
+___XX___
+__XX____
+__XX____
+_XX_____
+XX______
+
+// zero
+
+_XXXXXX_
+XXXXXXXX
+XX___XXX
+XX__X_XX
+XX__X_XX
+XX_X__XX
+XX_X__XX
+XXX___XX
+XXXXXXXX
+_XXXXXX_
+
+// one
+
+___XX___
+__XXX___
+__XXX___
+_XXXX___
+XX_XX___
+___XX___
+___XX___
+___XX___
+___XX___
+_XXXXXX_
+
+// 2
+
+_XXXXXX_
+XXXXXXXX
+_____XXX
+_____XXX
+____XXX_
+___XXX__
+_XXX____
+XXX_____
+XXXXXXXX
+XXXXXXXX
+
+// 3
+
+XXXXXXXX
+XXXXXXXX
+_____XXX
+____XX__
+___XX___
+__XXX___
+____XXX_
+XX___XXX
+XXXXXXXX
+_XXXXXX_
+
+// 4
+
+___XX___
+__XXX___
+__XXX___
+_XXXX___
+XX_XX___
+XXXXXXXX
+XXXXXXXX
+___XX___
+___XX___
+___XX___
+
+// 5
+
+XXXXXXXX
+XXXXXXXX
+XXX_____
+XXX_____
+XXXXXXX_
+_XXXXXXX
+______XX
+X_____XX
+XXXXXXXX
+_XXXXXX_
+
+// 6
+
+_XXXXXX_
+XXXXXXXX
+XX______
+XX______
+XXXXXXX_
+XXXXXXX_
+XX____XX
+XX____XX
+XXXXXXXX
+_XXXXXX_
+
+// 7
+
+XXXXXXXX
+XXXXXXXX
+_____XXX
+____XXX_
+____XXX_
+___XXX__
+___XXX__
+__XXX___
+__XXX___
+_XXX____
+
+// 8
+
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+_XXXXXX_
+_XXXXXX_
+XX____XX
+XX____XX
+XXXXXXXX
+_XXXXXX_
+
+// 9
+
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+_XXXXXXX
+_XXXXXXX
+______XX
+______XX
+XXXXXXXX
+_XXXXXX_
+
+
+// :
+
+________
+________
+________
+________
+___XX___
+___XX___
+________
+___XX___
+___XX___
+________
+
+
+// ;
+
+________
+________
+________
+________
+___XX___
+___XX___
+________
+___XX___
+___XX___
+__XX____
+
+// <
+
+________
+________
+______XX
+____XX__
+__XX____
+XX______
+__XX____
+____XX__
+______XX
+________
+
+// =
+
+________
+________
+________
+________
+XXXXXXXX
+________
+XXXXXXXX
+________
+________
+________
+
+
+// >
+
+________
+________
+XX______
+__XX____
+____XX__
+______XX
+____XX__
+__XX____
+XX______
+________
+
+// ?
+
+
+_XXXXXX_
+XXXXXXXX
+XX____XX
+_X___XX_
+____XX__
+___XX___
+___XX___
+________
+___XX___
+___XX___
+
+// @
+
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX_XXXXX
+XX_X__XX
+XX_X__XX
+XX_XXXXX
+XX______
+XXXXXXXX
+_XXXXXXX
+
+
+// A
+
+XXXXXXXX
+XXXXXXXX
+XX____XX
+XX____XX
+XXXXXXXX
+XXXXXXXX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+
+// B
+
+XXXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XXXXXXX_
+XXXXXXX_
+XX____XX
+XX____XX
+XXXXXXXX
+XXXXXXX_
+
+// C
+
+XXXXXXXX
+XXXXXXXX
+XX______
+XX______
+XX______
+XX______
+XX______
+XX______
+XXXXXXXX
+XXXXXXXX
+
+// D
+
+XXXXXX__
+XXXXXXX_
+XX___XXX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX___XXX
+XXXXXXX_
+XXXXXX__
+
+// E
+
+XXXXXXXX
+XXXXXXXX
+XX______
+XX______
+XXXXXXX_
+XXXXXXX_
+XX______
+XX______
+XXXXXXXX
+XXXXXXXX
+
+// F
+
+XXXXXXXX
+XXXXXXXX
+XX______
+XX______
+XXXXXXX_
+XXXXXXX_
+XX______
+XX______
+XX______
+XX______
+
+// G
+
+XXXXXXXX
+XXXXXXXX
+XX______
+XX______
+XX__XXXX
+XX__XXXX
+XX____XX
+XX____XX
+XXXXXXXX
+XXXXXXXX
+
+// H
+
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XXXXXXXX
+XXXXXXXX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+
+// I
+
+_XXXXXX_
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+_XXXXXX_
+
+// J
+
+XXXXXXXX
+XXXXXXXX
+______XX
+______XX
+______XX
+______XX
+XX____XX
+XXX___XX
+_XXXXXXX
+__XXXXXX
+
+// K
+
+XX____XX
+XX__XXX_
+XX__XXX_
+XX_XXX__
+XXXX____
+XXXX____
+XX_XXX__
+XX__XXX_
+XX__XXX_
+XX____XX
+
+// L
+
+XX______
+XX______
+XX______
+XX______
+XX______
+XX______
+XX______
+XX______
+XXXXXXXX
+XXXXXXXX
+
+// M
+
+XX____XX
+XXX__XXX
+XXX_XXXX
+XXXXXXXX
+XXXXXXXX
+XX_XX_XX
+XX_XX_XX
+XX____XX
+XX____XX
+XX____XX
+
+// N
+
+XX____XX
+XXX___XX
+XXX___XX
+XXXX__XX
+XXXXX_XX
+XX_XXXXX
+XX__XXXX
+XX___XXX
+XX___XXX
+XX____XX
+
+// O
+
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XXXXXXXX
+_XXXXXX_
+
+// P
+
+XXXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XXXXXXXX
+XXXXXXX_
+XX______
+XX______
+XX______
+XX______
+
+// Q
+
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XX____XX
+XX_XX_XX
+XX_XXXXX
+XX__XXXX
+XXXXXXXX
+_XXXXXXX
+
+// R
+
+XXXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XXXXXXXX
+XXXXXXX_
+XXXXX___
+XX_XXX__
+XX__XXX_
+XX___XXX
+
+// S
+
+_XXXXXX_
+XXXXXXXX
+XX____XX
+_XX___X_
+__XX____
+___XXX__
+_X__XXX_
+XX___XXX
+XXXXXXXX
+_XXXXXX_
+
+// T
+
+XXXXXXXX
+XXXXXXXX
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+
+// U
+
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XXXXXXXX
+_XXXXXX_
+
+// V
+
+XX____XX
+XX____XX
+XX____XX
+_XX__XX_
+_XX__XX_
+_XX__XX_
+__XXXX__
+__XXXX__
+___XX___
+___XX___
+
+// W
+
+XX____XX
+XX____XX
+XX_XX_XX
+XX_XX_XX
+XXXXXXXX
+XXXXXXXX
+XXX__XXX
+XXX__XXX
+XX____XX
+XX____XX
+
+// x big
+
+XX____XX
+XX____XX
+_XX__XX_
+_XX__XX_
+__XXXX__
+__XXXX__
+_XX__XX_
+_XX__XX_
+XX____XX
+XX____XX
+
+// Y
+
+XX____XX
+XX____XX
+_XX__XX_
+_XX__XX_
+__XXXX__
+__XXXX__
+___XX___
+___XX___
+___XX___
+___XX___
+
+// Z
+
+XXXXXXXX
+XXXXXXXX
+_____XXX
+_____XXX
+____XXX_
+___XXX__
+_XXX____
+XXX_____
+XXXXXXXX
+XXXXXXXX
+
+// [
+
+XXXX____
+XXXX____
+XX______
+XX______
+XX______
+XX______
+XX______
+XX______
+XXXX____
+XXXX____
+// \
+
+XX______
+_XX_____
+__XX____
+__XX____
+___XX___
+___XX___
+____XX__
+____XX__
+_____XX_
+______XX
+
+// ]
+
+____XXXX
+____XXXX
+______XX
+______XX
+______XX
+______XX
+______XX
+______XX
+____XXXX
+____XXXX
+// ^
+
+___XX___
+__XXXX__
+_XX__XX_
+XX____XX
+________
+________
+________
+________
+________
+________
+
+// underscore
+
+________
+________
+________
+________
+________
+________
+________
+________
+XXXXXXXX
+XXXXXXXX
+
+// `
+
+__XX____
+___XX___
+____XX__
+________
+________
+________
+________
+________
+________
+________
+
+// a
+________
+________
+_XXXXXX_
+XXXXXXXX
+______XX
+_XXXXXXX
+XXXXXXXX
+XX____XX
+XXXXXXXX
+_XXXX_XX
+
+// b
+
+XX______
+XX______
+XX______
+XX______
+XXXXXXX_
+XXXXXXX_
+XX____XX
+XX____XX
+XXXXXXX_
+XXXXXXX_
+
+// c
+
+________
+________
+________
+_XXXXXX_
+XXXXXXXX
+XX______
+XX______
+XX______
+XXXXXXXX
+_XXXXXX_
+
+// d
+
+______XX
+______XX
+______XX
+______XX
+_XXXXXXX
+_XXXXXXX
+XX____XX
+XX____XX
+_XXXXXXX
+_XXXXXXX
+
+// e
+
+________
+________
+_XXXXXX_
+XXXXXXXX
+XX_____X
+XXXXXXX_
+XX______
+XX______
+XXXXXXXX
+_XXXXXX_
+
+// f
+
+_XXXXXX_
+XXXXXXXX
+XX______
+XX______
+XXXXXXX_
+XXXXXXX_
+XX______
+XX______
+XX______
+XX______
+
+// g
+
+________
+________
+_XXXXXXX
+_XXXXXXX
+XX____XX
+XX____XX
+_XXXXXXX
+______XX
+XX____XX
+_XXXXXXX
+
+// h
+
+XX______
+XX______
+XX______
+XX______
+XXXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+
+
+// i
+
+________
+________
+________
+___XX___
+________
+___XX___
+___XX___
+___XX___
+___XX___
+__XXXX__
+
+
+// j
+
+________
+________
+____XX__
+________
+____XX__
+____XX__
+____XX__
+_XX_XX__
+_XX_XX__
+__XXX___
+
+// k
+
+
+XX______
+XX______
+XX______
+XX______
+XX____XX
+XX__XXX_
+XXXXXX__
+XX_XXX__
+XX__XXX_
+XX___XXX
+
+// l
+
+
+_XXXX___
+_XXXX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+_XXXXXX_
+
+
+// m
+________
+________
+________
+XX______
+XXXX_XX_
+XXXXXXXX
+XX_XX_XX
+XX_XX_XX
+XX_XX_XX
+XX_XX_XX
+
+// n
+________
+________
+________
+XX______
+XXXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+
+// o
+________
+________
+________
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XX____XX
+XXXXXXXX
+_XXXXXX_
+
+// p
+________
+________
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+XXXXXXX_
+XX______
+XX______
+XX______
+
+// q
+
+________
+________
+_XXXXXX_
+XXXXXXXX
+XX____XX
+XX____XX
+_XXXXXXX
+______XX
+______XX
+______XX
+
+// r
+________
+________
+________
+XX__XX__
+XX_XXXX_
+XXXX__XX
+XX______
+XX______
+XX______
+XX______
+
+// s
+
+________
+________
+________
+_XXXXXX_
+XX____XX
+_XX_____
+__XXXX__
+_____XX_
+XX____XX
+_XXXXXX_
+
+// t
+
+__XX____
+__XX____
+XXXXXX__
+XXXXXX__
+__XX____
+__XX____
+__XX____
+__XX__X_
+__XX_XX_
+___XXX__
+
+// u
+________
+________
+________
+________
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+XX____XX
+_XXXXXX_
+
+// v
+________
+________
+________
+________
+XX____XX
+XX____XX
+_XX__XX_
+_XX__XX_
+__XXXX__
+___XX___
+
+// w
+________
+________
+________
+________
+XX_XX_XX
+XX_XX_XX
+XX_XX_XX
+XX_XX_XX
+XXXXXXXX
+_XX__XX_
+
+
+// x
+
+________
+________
+________
+XX____XX
+_XX__XX_
+_XX__XX_
+__XXXX__
+_XX__XX_
+_XX__XX_
+XX____XX
+
+
+// y
+
+________
+________
+________
+XX____XX
+_XX__XX_
+_XX__XX_
+__XXXX__
+___XX___
+__XX____
+_XX_____
+
+
+// z
+________
+________
+________
+________
+XXXXXXXX
+_____XX_
+____XX__
+__XXX___
+_XX_____
+XXXXXXXX
+
+// {
+
+____XX__
+___X____
+__X_____
+__X_____
+XX______
+XX______
+__X_____
+__X_____
+___X____
+____XX__
+
+// |
+
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+___XX___
+
+// }
+
+__XX____
+____X___
+_____X__
+_____X__
+______XX
+______XX
+_____X__
+_____X__
+____X___
+__XX____
+
+// ~
+
+________
+________
+________
+_XX_____
+X__XX__X
+_____XX_
+________
+________
+________
+________
diff --git a/userspace/foolshell.c b/userspace/foolshell.c
index 7247871..47d1e92 100644
--- a/userspace/foolshell.c
+++ b/userspace/foolshell.c
@@ -14,8 +14,6 @@ uint8_t buf_test[1024*300];
void hello()
{
// ascci art: http://patorjk.com/software/taag/#p=testall&f=Cards&t=Fool%20OS
- //
-
puts(
"\033c"
@@ -73,6 +71,13 @@ int main(int argc, char **argv)
printf("setvbuf returned %i\n",setvbuf(stdin,NULL,_IONBF,0));
+ // TODO: remove test (Tryint to write directyly to frameubuff)
+ uint32_t *vmem=0xfd000000;
+ for(int i=0;i<2000;i++)
+ {
+ *vmem=0xff0000;
+ vmem++;
+ }
while(1)
{
prompt();
@@ -88,6 +93,11 @@ int main(int argc, char **argv)
buf[bl]=c;
buf[bl+1]='\0';
bl++;
+ for(int i=0;i<20000;i++)
+ {
+ *vmem=0xff0000;
+ vmem++;
+ }
}
//fgets(buf,255,stdin);
@@ -100,7 +110,6 @@ int main(int argc, char **argv)
char **tokenize(char *buf)
{
-
char **token;
token=malloc(10*sizeof(char*));
@@ -134,9 +143,7 @@ char **tokenize(char *buf)
token[c]=NULL;
}
-
return token;
-
}
int process(char *buf)
@@ -194,9 +201,7 @@ int process(char *buf)
token[t-1]=0;
// printf("path token: '%s'\n",token);
-
-
if(!strcmp(token,".."))
{
left--;
@@ -275,8 +280,3 @@ int process(char *buf)
return 0;
}
-
-
-
-
-