This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
BigSHinyToys's profile picture

[ALPHA] FlipOS (“Multitask” – “fast screen draw” – “high compatibility” – “simple interface”)

Started by BigSHinyToys, 26 May 2013 - 08:03 AM
BigSHinyToys #1
Posted 26 May 2013 - 10:03 AM
FlipOS ALPHA

FilpOS is a simple Shell/os that allows users to run many programs at the same time on a set of "screens". This program is in alpha and there is probably some bugs.


More pictures in spoiler

Spoiler



Note: Mouse File Browser 1.4 is not part of FlipOS it can be downloaded here

Operating flipOS
filpOS has a basic command line interface on screen one. you can't do a lot with it that will change in future vers. The "run" command allows users to create a new screen with program running it.
Example : run "rom/programs/shell"
this will create a new screen with a shell instance in it.

To flip screens press the [Home] key to open the screen menu from here press the [Left] and [Right] keys to flip from one screen to another.

To exit the OS use the "exit" command or press the [End] key while the screen menu is open.

This is an alpha so please report bug or ideas to help guide development.

Download:
ver 0.6 : pastebin get UyXM2S78 flipos
MKlegoman357 #2
Posted 26 May 2013 - 03:29 PM
I looked at the code and saw how it works. You are a genius! Faking things to make it work like a charm! One of the best usage of that term function!
BigSHinyToys #3
Posted 26 May 2013 - 03:35 PM
I looked at the code and saw how it works. You are a genius! Faking things to make it work like a charm! One of the best usage of that term function!
Thanks
I made other program that messed with term redirects then thought why not have many separate screens and only display one of then at a time. so grabbing the screen class from another project and adding a little event filtering you get the above.
M4sh3dP0t4t03 #4
Posted 28 May 2013 - 05:14 AM
It's a pretty nice multitasking system, but maybe you should change the key that opens the menu, because there isn't a home key on every Keyboard.
BigSHinyToys #5
Posted 28 May 2013 - 06:20 AM
It's a pretty nice multitasking system, but maybe you should change the key that opens the menu, because there isn't a home key on every Keyboard.
Thanks I think I will make it user configurable as all keys have some purpose and finding one that doesn't interfere with some program / system set up is impossible. I chose home as it was near then left/rite keys and pressing a home key to open a menu sounded intuitive. I also thought that pressing a combo would get annoying after a while so Shift + Other_key isn't really an option.
superaxander #6
Posted 28 May 2013 - 10:06 AM
Wow really nice! Very usefull for multitasking on a server
M4sh3dP0t4t03 #7
Posted 28 May 2013 - 11:16 AM
Could you please try to get rid of all the typos you made with this?
BigSHinyToys #8
Posted 28 May 2013 - 11:58 AM
Could you please try to get rid of all the typos you made with this?
I have proofed my code If i have missed any please tell me and I will correct the code.

v0.4
*added history to typed in commands
* corrected some spelling issues.
cogilv25 #9
Posted 28 May 2013 - 03:54 PM
what if the program doesn't yield wouldn't that cause problems? unless you force it to? I have had a look at your code but too tired for in depth reading right now haha
Pinkishu #10
Posted 29 May 2013 - 09:21 AM
what if the program doesn't yield wouldn't that cause problems? unless you force it to? I have had a look at your code but too tired for in depth reading right now haha

Doesn't CC force programs to yield after a while?

And well it may a bit, but then what if you install a virus on your PC :P/> your issue, and CC progs are mostly even open-source
BigSHinyToys #11
Posted 29 May 2013 - 09:43 AM
I have to say having edit open in one screen and testing the program in the other is quite useful so much so I may make a editor with inbuilt run / F5 button support. that will be a while in the making.

what if the program doesn't yield wouldn't that cause problems? unless you force it to? I have had a look at your code but too tired for in depth reading right now haha
After some testing I can say yes it will crash if the program doesn't yield I will work out a long term solution but for now I have a patch.
ver 0.6 : pastebin get UyXM2S78 flipos



Doesn't CC force programs to yield after a while?

And well it may a bit, but then what if you install a virus on your PC :P/> your issue, and CC progs are mostly even open-source
Thanks for the defense but he has a valid point. During program development it is possible to make program that will crash by mistake and my OS should allows this to not affect over all system stability.
cogilv25 #12
Posted 31 May 2013 - 06:37 PM
Another problem that you might have (I'm not sure this will affect you but it causes problems for the way my unpublished os works) is that any program that is loaded cannot access functions in a program or API that is loaded after it. I have a starting program that needs to be able to access a version function in every other program that is loaded after it (if it exists) and it's a pain haha :)/>
Pinkishu #13
Posted 10 June 2013 - 07:14 AM
Thanks for the defense but he has a valid point. During program development it is possible to make program that will crash by mistake and my OS should allows this to not affect over all system stability.

Well, if a program crashing affects your OS stability, then thats an issue of your OS.
superaxander #14
Posted 10 June 2013 - 08:13 AM
Question!
Do programs continue to run when you are not looking at them
Tiin57 #15
Posted 10 June 2013 - 08:13 AM
As with every program in CraftOS, I would say yes.
superaxander #16
Posted 10 June 2013 - 08:39 AM
As with every program in CraftOS, I would say yes.
I ment when you are in a different tab
BigSHinyToys #17
Posted 10 June 2013 - 08:42 AM
Question!
Do programs continue to run when you are not looking at them
program continue to run in the back ground. They will receive all events with the exception of user input Events like click or key. They can still write to screen as well this is buffered till the user switches back to it. Try the "alongtimeago" program it will continue to play in the background.

In an upcoming version only the coroutine that created the timer event will receive it for now all receive it this will be rectified.
superaxander #18
Posted 10 June 2013 - 09:06 AM
Question!
Do programs continue to run when you are not looking at them
program continue to run in the back ground. They will receive all events with the exception of user input Events like click or key. They can still write to screen as well this is buffered till the user switches back to it. Try the "alongtimeago" program it will continue to play in the background.

In an upcoming version only the coroutine that created the timer event will receive it for now all receive it this will be rectified.
I hoped it would do that! Awesome!