How do I make my own graphical operating system from scratch?
Posted 15 January 2012 - 06:02 AM
Where do I begin?
I am kind of "off" with Assembly, but no tutorials help me out.
I heard mostly operating system's are developed in high-level languages, but some parts must be in low-level Assembly.
Care to help me out here? I might just be the next Steve Jobs.
I mean I know all the parts that make up the OS and I know programming, but I have no idea how to "put it all together" and get it to boot from another drive on my PC.
Anything will help! Thanks in advance!
Posted 15 January 2012 - 12:47 PM
I suppose you want to do it for your own personal satisfaction, ok, i'd follow this route
first : low level access to graphic device , write and read in a 'graphic buffer' in different resolutions.
second : create fast graphic routines : pixel plotting, line, rectangles , ellipses ( for drawing circle under different x/y screen ratio )
third: font rendering ( in my experience this is a real pain in the a** ) , because you have to compute text metrics, word wrapping,
text scrolling, and scissoring.
forth: window handling , basically rectangles where you can draw in , borders, layouts ( i had already done and its another pain in the a** )
fifth: input handling, mouse, keyboard ( low level interrupt )
sixth: low level disk access ( semaphores , multiple files opened )
you may want to start in a different order, but this is the minimal build for a OS , 1.5 years ago i started writing an opengl gui and i had
to work out many of those different problems, so talking about the graphic side,it was a very intensive task.
Good luck, if you need some graphic algorithms, like word wrapping and such , let me know.
Posted 15 January 2012 - 05:50 PM
You should talk to the creator of Losethos too. I have a feeling you two will get along just fine.
Posted 16 January 2012 - 11:17 AM
The display code alone was several years work, macros to translate from this pixel format to that, macros to alpha blend every pixel format under the sun with every other pixel format, etc. etc. etc.
That's without even thinking about the low level stuff, device drivers for how many bits of random hardware ?
If you are really serious about doing this, then start with creating a framework that allows you to render to multiple pixel formats, then start writing all the horizontal line draws you need. You will need a matrix of these
Fill mode Blend mode Depth buffer Pixel depth
Colour None On 8 palette
Texture Alpha Off 8 grey
So that's 256 hline routines for a start
Just forget it.
Posted 16 January 2012 - 12:44 PM
Wouldn't it be a better idea to just port SDL to your OS?
Posted 16 January 2012 - 03:06 PM
Also, I would recommend reading a good OS book, if only to prevent you from making the same mistakes others have made. (Of course, being a multi-award winner in algorithms, I'm surprised you even ask for help.)
Sure. You certainly have the primadonna attitude already firmly in place...
PS: I'm wondering if LoseTheOS will stumble into this thread...
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users