Where to start?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
D2
Posts: 2
Joined: Wed Sep 05, 2007 11:41 pm
Location: California
Contact:

Where to start?

Post by D2 »

Forgive me, I'm a noob, but...

Before I start making a full-blown OS, I want to make a virtual environment, basically write the OS-like program, then emulate it. For starters I want to make a desktop environment.

I have several languages on my computer: Blitz BASIC, QBASIC, Gentee, FreeBASIC and a really old C++ from 1997. Are any of those fit for creating what I'm after?

Besides what I just said, any idea where to start in OS development when you have only intermediate programming knowledge, mostly in the field of gaming?

NOTE: I already designed some of the "look and feel" of my desktop environment, SIF (Simple Interface Format.) Here it is:

Image
I wouldn't leave if I were you. DOS is much worse.
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post by JamesM »

Oh my good lord do people not STFW anymore. Look, there are about a thousand of these "where do I get started !!111" topics on the forum. I count at least 3 on the main page! why not just read them instead of posting your own?

And you should read the wiki on the subject of "I already know what my OS's gui is going to look like - the first thing I want to do is create a gui". HINT: it's not a good mindset.

JamesM
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post by JamesM »

Oh, additionally, how can a look-and-feel be a "format"? and also, what is the difference between your look-and-feel to motif's or the original JAVA look-and-feel?!
User avatar
jerryleecooper
Member
Member
Posts: 233
Joined: Mon Aug 06, 2007 6:32 pm
Location: Canada

Post by jerryleecooper »

Don't use your toy languages to create your OS please. Use gcc. And also, before having enough of your OS developed to have your GUI, it will take time, you'll need a v86 monitor. And multitasking. Paging will also be probably needed. Good luck. Making an OS is a lot harder than making a game. Isn't it?
D2
Posts: 2
Joined: Wed Sep 05, 2007 11:41 pm
Location: California
Contact:

Post by D2 »

Oh wow. Jerks. This is an beginners' forum, but obviously internet people don't see that. Yes I don't have the proper tools yet, but that's no excuse to be an *******.

Oh, and James, if you meant to say STFU, then :twisted: on you!
I wouldn't leave if I were you. DOS is much worse.
User avatar
t0xic
Member
Member
Posts: 216
Joined: Sat May 05, 2007 3:16 pm
Location: VA
Contact:

Post by t0xic »

No, If your still on here I think he meant STFW -- look on the wiki or just search on the forum, there are tons of threads just like this. Don't count your chickens before they hatch D2.

--Michael
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Post by piranha »

Oh wow. Jerks.
Don't call people on this forum jerks. You need common sense if your going to write an OS, and you didn't even check the Wiki.

On the first page of this website:
Read our OS development wiki to learn where to start.
Read the Intel manuals, learn how to program (I am sorry, I don't consider game programing real programming), read the wiki and other posts, look at tutorials, etc.

There it all is, spelled out for you. :roll:


-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Tyler
Member
Member
Posts: 514
Joined: Tue Nov 07, 2006 7:37 am
Location: York, England

Post by Tyler »

piranha wrote:I am sorry, I don't consider game programing real programming
Never done, or learnt anything about game programming then? Nothing like opinion based upon assumptions.
User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Post by Alboin »

Tyler wrote:
piranha wrote:I am sorry, I don't consider game programing real programming
Never done, or learnt anything about game programming then? Nothing like opinion based upon assumptions.
Game programming can be quite difficult, especially if you have no idea what you're doing. Have you ever thought about how an RPG would be made? If event x, do y, if event x and z do a, etc. Moreover, I've found games to be extremely tolling due to the amount of work put into them. Graphics, music (Which I am horrible at, by the way.), and other miscellaneous things.
C8H10N4O2 | #446691 | Trust the nodes.
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Post by neon »

I am sorry, I don't consider game programing real programming
In addition to the above posters...

Game programming can get very heavy in mathematics. After all, we are representing a large 3d world inside of the realm of a computer system.Also, the code itself can get vary large in size. Usually several 100,000 lines of code, to even a million.This does not include the other assets of scripting, that is required in alot of games (Such as RPGs).
Oh wow. Jerks. This is an beginners' forum, but obviously internet people don't see that. Yes I don't have the proper tools yet, but that's no excuse to be an *******.
No, this is not a beginners forum, this is an OS Development forum. There is nothing that says its "For beginners" (That I have seen, anyways)

Anyways...

Operating Systems are very low level. Do NOT focus on the graphics right now, as you will be needing ALOT of work before you can even get CLOSE to what you want to do. NONE of the BASIC languages will work, as they all require an envirement to run in. When building an OS, *You* are creating that envirement, so these languages have nothing to run it, and hence, will NOT work. C++ will work fine. I personally am using MSVC++ for my kernel, however it needs some setup to work with, and a way to load and execute the PE program from an assembly language program.

GCC is also good, as mentioned earlier.

You will also need to learn some x86 Assembly Language. Remember that operating systems can get VERY complicated!
Oh, and James, if you meant to say STFU, then Twisted Evil on you!
He did not attack you--however, *you* just attacked him:
Oh my good lord do people not STFW anymore.
STFW = Search The F***** Web. If you STFW, you would have learned that :D

He was actually redirecting you to the OSDev Wiki:

Click here
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
User avatar
AndrewAPrice
Member
Member
Posts: 2309
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Post by AndrewAPrice »

Alboin wrote:
Tyler wrote:
piranha wrote:I am sorry, I don't consider game programing real programming
Never done, or learnt anything about game programming then? Nothing like opinion based upon assumptions.
Game programming can be quite difficult, especially if you have no idea what you're doing. Have you ever thought about how an RPG would be made? If event x, do y, if event x and z do a, etc. Moreover, I've found games to be extremely tolling due to the amount of work put into them. Graphics, music (Which I am horrible at, by the way.), and other miscellaneous things.
Yeah.. And path finding, 3D graphics, AI that easy. (Well, maybe with libraries that you can just do myCar = myScene->Create3DObject("car.x")). And not to mention all the months gone into game design and mechanics, testing (not just bugs, but also that the game is fair and balanced), content creation (modellers, texturers, story/dialogue writing, sound engineers).
My OS is Perception.
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Post by piranha »

Never done, or learnt anything about game programming then? Nothing like opinion based upon assumptions.
Sorry, your right. And I realize it's complicated. Now that I actually think of it, it is very advanced. Hmmm.......Although it might not be greatly useful specifically toward kernel development. Please don't start a flame war.

Today I have a gigantic headache, so don't listen to my opinions......
Sorry



-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

NONE of the BASIC languages will work, as they all require an envirement to run in.
Apparently, you aren't familiar with FreeBasic. You can use BASIC without the runtime environment. In fact I posted a sample kernel to demonstrate it a while ago.
With regards to many other BASICs you are right - I don't see the necessary support in quickbasic, powerbasic, darkbasic, classic visual basic or any of the interpreted versions.
I am sorry, I don't consider game programing real programming
Its a wonderful way of gaining experience. Game projects can grow huge, and to get to completing a large one is inidication enough that somebody is capable enough to sucessfully manage an OS project.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Post by neon »

Apparently, you aren't familiar with FreeBasic. You can use BASIC without the runtime environment.
Ah. I heard of FreeBASIC, but never got into it, so did not know that. Thanks for letting me know :)
Post Reply