putting a gui together is a very hard and pretty much a different type of work than doing the kernel.
it needs a totally different mind-set than googling x86/arm behaviors to have something to be accessed, it needs a different kind of work that most people cant afford to learn just for a kernel project.
but i have a solution for you:
You can use Dawn operating system as a GUI!
http://forum.osdev.org/viewtopic.php?f=2&p=272447
Lets combine our forces, and create something great!
1. Dawn operating system runs and works fully on SUBLEQ bytecode that is easy to emulate:
Code: Select all
unsigned long long * utasitaskezd=(unsigned long long*)&RAM[eip];
long long A=bswap64(utasitaskezd[0]);
long long B=bswap64(utasitaskezd[1]);
long long B_ertek=bswap64(*(unsigned long long*)&RAM[B])-bswap64(*(unsigned long long*)&RAM[A]);
*(long long*)&RAM[B]=bswap64(B_ertek);
if(B_ertek<=0){
eip=bswap64(utasitaskezd[2]);
}else{
eip+=24;
}
2. Dawn is a fully working stand-alone operating system, its a complete operating system - this means you dont have to bother about memory management, task management, or file system.
3. Its easy to emulate dawn hardware needs, since dawn not requiring interrupts or DMA, it uses pollings on memory locations to access hardware, you can find all informations in start / help / hardware.txt
4. Dawn license does not ,,infects'' the license of your work in any ways, you can even use it in commercial projects and you can sell your work, it requires NO fee to pay (but of course its highly welcome), and it will display NO ads.
5. Dawn have a handful of programs built-in, ready to run: paint, text editor, sound player, file browser, and some games.
6. Dawn have its own compiler built in inside, that produces subleq binary executables, so you dont need to bother of instruction sets
7. Dawn will eat 180 mbyte of RAM including the binary code of the OS itself, this means it will run well with 256 mbyte RAM (you can carefully cache parts of it to disk if you plan to run it with less than 256 mbytes of RAM)
8. has SMP support up to basically unlimit cores. having all cpu cores emulated is not manditory, but will help dawn gui to be more responsive.
9. keyboard, joystick, mouse, sound, touchscreen, multitouch supported
10. dawn will not touch disks if there is no reason for that (it will not just start to read and write to disk than current os-es like windows or linux).
11. DAWN IS COMPLITELY GRAPHICSIAL - it have control panels for everything.
12. dawn can run on any resolution you specify, but going below 640x480 is not a good idea
13. Feel free to contact me any time, i will guide you and answer your questions.
14. To see how magically easy to handle dawn, just basically execute the cpu cycles with the code i pasted above, and paint the graphics from memory area location 256 mbyte with 1024x512 resolution rgb. IT WILL BOOT AND RUN! (you also need to implement mouse and keyboard however)
do not stop developing your kernel becouse you lack of a gui - you now have one to use.