Author Topic: Rogue OS  (Read 9301 times)

0 Members and 1 Guest are viewing this topic.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Rogue OS
« on: June 21, 2011, 05:12:46 pm »
If any of you are wondering what my recent tweets have been about, or what I'm blabbering on about in IRC then let me enlighten you :)

I have recently been working on a OS inspired by KOS. Rogue has been in the works for a long time but has never really gotten off the ground until recently. RogueOS was originally going to be based on the Knight Kernel, but since I am unable to work with the Knight Kernel due to re-writes, I'm opting for just basing it off of a basic version of the Knight Kernel and working from there.
After making that decision I sat down and wrote out what my goals for Rogue were and here is a somewhat edited version of that original list.
Features
  • Multitasking
  • App Style programs
  • Animated App Switching
  • System Pane
  • 3 Dedicated screen buffers
  • Filesystem
  • Power Menu
Multitasking
  • Interrupt based
  • States
    • 0 - No Thread
    • 1 - Zombie
    • 2 - Started
    • 3 - Running
    • 4 - Interruptable
    • 5 - Uninterruptable
  • Shifts through Thread Table in a round-robin manner
App Style Programs
  • Specific file structure for each app ( ie: app.exe, metadata, resources etc )
Animated Switching
  • Switching between running apps will be animated with a slide in from left/right
  • ON+left/right arrows will switch between the running apps
System Pane
  • By default a bottom pane will be displayed showing different information
  • Info
    • Free RAM ( percent )
    • Current App ( App # / Total running # )
    • Time ( I'm still on the fence about this one )
    • Battery low warning ( only if battery is low )
3 Dedicated screen buffers
  • So apps don't have to allocate extra buffers for greyscale etc
  • buffers
    • 0 - Main buffer
    • 1 - Back buffer
    • 2 - extra buffer
Filesytem
  • Basic FAT style filesystem for now. Possible change to a Journaling system later
  • Supports
    • Directories
    • Files
    • Symbolic Links
Power Menu
  • Holding ON will bring up the power menu in an overlay ( interrupting any running apps ( so everything goes greyscale ) )
  • Overlay
    • Up Arrow - Sleep
    • Down Arrow - Hibernate
    • Left Arrow - Go left one running app
    • Right Arrow - Go right one running app
    • Y=/F1 - Bring up System Menu ( ie: apps and options )
  • Sleeping turns off the screen and halts processes, then puts the cpu into a low power state
  • Hibernate Backs up the RAM State and turns the calculator off completely

Completed Milestones
  • Multitasking
  • FAT/Filesystem reading
  • Loading Executables/Data to RAM
  • LCD Locking for specific threads
  • Integrating some of the Knight Kernel features

So right now, I have a working, but limited OS :D

Oh and before I forget, I am working on this project with a mix of wine, mono, spasm, wabbitemu, wxwabbitemu, make, gedit and os2tools. Right now the building process is aimed for linux, but I could add in support for windows later, when I get around to making an svn for you guys to grab from :)


Booting Rogue OS's debug build. Using boot.exe and welcome.exe to display the two last messages with multitasking

( BTW: I'm writing my last Diploma exam tomorrow, so I'm not really active until after it, but I thought I should just post this now for the hype :P )

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Rogue OS
« Reply #1 on: June 21, 2011, 05:15:53 pm »
This looks promising Eeems, as most OSs, but it seems you've started making some stuff :) I just don't get the exes, what are they, calculator files?

Good luck with this :)

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Rogue OS
« Reply #2 on: June 21, 2011, 05:24:38 pm »
Wait, "welcome.exe?"

Are you seriously parsing .exe files? O.O
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Rogue OS
« Reply #3 on: June 21, 2011, 05:32:02 pm »
Not .app? D: J/k looks awesome! I really like those keypad tricks like holding ON. Any idea when we can have a demo? :D




Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Rogue OS
« Reply #4 on: June 21, 2011, 05:59:00 pm »
This looks promising Eeems, as most OSs, but it seems you've started making some stuff :) I just don't get the exes, what are they, calculator files?
Thanks :)
Exe's are executable files. My file system isn't limited like TIOS the data can have any format/name it wants.
Wait, "welcome.exe?"

Are you seriously parsing .exe files? O.O
.exe is just an extension placeholder for now, I might change it to something else, I might not.
Not .app? D: J/k looks awesome! I really like those keypad tricks like holding ON. Any idea when we can have a demo? :D
lol :P
Yeah, I'm excited about them too, I have no idea when I will be at that state, but I'll try to get an svn set up as soon as possible so you guys can grab the most recent source whenever you want and make your own personal demos :P
/e

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Rogue OS
« Reply #5 on: June 21, 2011, 06:10:28 pm »
Here's a suggestion: When the user holds down the ON button for, say, three seconds, the calculator either turns off immediately after quitting all programs (since RAM clears don't even matter at all), or goes into a "teacher mode" that looks like the TI-OS homescreen.




Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Rogue OS
« Reply #6 on: June 21, 2011, 06:20:23 pm »
Here's a suggestion: When the user holds down the ON button for, say, three seconds, the calculator either turns off immediately after quitting all programs (since RAM clears don't even matter at all), or goes into a "teacher mode" that looks like the TI-OS homescreen.
Umm, I'm not going to do that. I prefer letting people hold on to keep the overlay on as long as possible.
I'm also not going to support all the math functions by default so I'm not going to have a teacher mode. Someone could make a Teacher Mode addition to it if they want and they could add in a patch for the three second thing as well, but I'm going to let people hold the on button as long as they want. Especially since apps that disable multitasking or turn off the system pane need a way for the user to get out of them/ view the pane. Holding on will display the overlay as well as force show the system pane.

Anyways, here is the svn for you guys, feel free to load trunk/build/Rogue.rom into an emulator to see it in action. I would recommend against loading it onto your calc for the time being with the 8xu since it is really useless. If you want to help me work on it feel free to let me know and I can set up a branch for you :)
http://code.google.com/p/rogueos/
« Last Edit: June 21, 2011, 06:23:57 pm by Eeems »
/e

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Rogue OS
« Reply #7 on: June 21, 2011, 08:06:09 pm »
Wait, "welcome.exe?"

Are you seriously parsing .exe files? O.O
.exe is just an extension placeholder for now, I might change it to something else, I might not.

I vote that they don't end in .exe -- it reduces confusion.


What happens if an app is already in grayscale and you bring up the overlay?  It could potentially look ugly if the app uses grayscale in an unusual way.
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Rogue OS
« Reply #8 on: June 21, 2011, 08:12:17 pm »
Wait, "welcome.exe?"

Are you seriously parsing .exe files? O.O
.exe is just an extension placeholder for now, I might change it to something else, I might not.

I vote that they don't end in .exe -- it reduces confusion.


What happens if an app is already in grayscale and you bring up the overlay?  It could potentially look ugly if the app uses grayscale in an unusual way.
The greyscale rendering will be disabled, and it become monochrome for the length of time the overlay is open since I don't want the headache of somehow rendering both my overlay and it's greyscale at once, it's just going to use the screen buffer ( 0 ) for it.
/e

Offline Broseph Radson

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 295
  • Rating: +20/-1
  • Its 0x1A4 somewhere
    • View Profile
Re: Rogue OS
« Reply #9 on: June 22, 2011, 12:00:35 am »
Looks pretty cool. I always get excited about this kind of thing. :w00t:

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Rogue OS
« Reply #10 on: June 25, 2011, 02:54:50 am »
Looks pretty cool. I always get excited about this kind of thing. :w00t:
Thanks :) Me too :P
So I've been trying to work on the file system to get better support for Directories atm, and it's kind of coming along :/
/e

Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: Rogue OS
« Reply #11 on: June 25, 2011, 03:08:48 am »
Sounds awesome :D

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Rogue OS
« Reply #12 on: June 25, 2011, 09:50:45 am »
Hey, nice to see you post about this. I'm looking forward to seeing this develop. =)

Ashbad

  • Guest
Re: Rogue OS
« Reply #13 on: June 25, 2011, 10:37:21 am »
I'd like to put up a request for 5 Graph buffers -- two main, two for copying to the main ones for quick static rendering, and an extra one :)

Offline matthias1992

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 408
  • Rating: +33/-5
    • View Profile
Re: Rogue OS
« Reply #14 on: June 25, 2011, 10:49:25 am »
Ok this might just be me but I just rabbed the .rom file from the provided link and dragged 'n dropped it unto wabbitemu. It then says boot succesfull but if I press any key the screen goes blank. I suppose this is not what should be happening? 3 dedicated buffers made my day though :) lol
MASM xxxxxxxxxx aborted | SADce ====:::::: 40% -Halted until further notice| XAOS =====::::: 50% -Units done| SKYBOX2D engine ========== 100% -Pre-alpha done. Need to  document it and extend |

~Those who dream by day are cognizant of much more than those who dream by night only. -Sir Edgar Allen Poe-