Page 1 of 1

Noob Help? (WalkerOs)

Posted: Sat May 09, 2009 6:27 pm
by GeniusCobyWalker
After 1 month of on and off work, on my kernel here is what I have.
Now I have some questions.

Here is my OS so far:
http://www.mediafire.com/?zwttukcknky
( Binary, Image, Layout Chart, Source)

1) Any Comments?
2) Where do I go from here? EDIT: Is Keyboard Entry Next?
3)How do I get rid of that "Kernel 200+90" thing?
4)Why does the cursor show only 50% of the time?

5)Anyone else wont to join me on this project? (knowledge at or after text output, required)
(I was on a team of 3 but 2 left and now I'm the only 1 continuing )

Giving up is not an option!

Re: Noob Help? (WalkerOs)

Posted: Sat May 09, 2009 6:42 pm
by neon
1) Any Comments?
I can nit pick but the two bigger things I dont personally like is that your code uses too much magic numbers and the kernel being a .bin. Magic numbers is just poor use in software engineering, the using a flat binary kernel is just personal opinion though.
2) Where do I go from here?
If you ever need to ask this question, please consider the end design goal of your system. You should never be needing to ask this in a general sense.

I do give you credit for not giving up yet though :)

Re: Noob Help? (WalkerOs)

Posted: Sat May 09, 2009 7:36 pm
by AUsername
Ok figured out how to install it.
Not much there but,

1. Writing the files directly to the disk causes it corrupt. (may have to do with GRUB I don't know I don't use GRUB)
2. The "pad" file kinda worries me, looks like a bad practice in reading the disk to me.
3. Why do none of the files have extensions?

I didn't really look at the source code, and I don't know how much GRUB actually does for ya but it looks like it works.

Not much there but you gotta start somewhere. As for where to go next, that's honestly up to you there's no set order you have to do things, but I would set the HAL up next so you have an abstraction layer for programming drivers and such.

Good luck. ^-^

Re: Noob Help? (WalkerOs)

Posted: Sat May 09, 2009 9:02 pm
by ruisleipa
1) Any Comments?
As neon said, you use too much magic numbers. Use variables (or #defines) to hold the address of the video memory and the amount of rows and columns. That way you don't have to change values all over the code if they need to be changed. It also makes the code a lot easier to read.
3)How do I get rid of that "Kernel 200+90" thing?
I think you will have to use a file system.
4)Why does the cursor show only 50% of the time?
Because it's blinking :)
5)Anyone else wont to join me on this project? (knowledge at or after text output, required)
(I was on a team of 3 but 2 left and now I'm the only 1 continuing )
What makes your OS so special that others want to join your team? It kind of seems that you are trying to get someone else to do the dirty work instead of learning to do it yourself. No offense.

@Neon: Why is it bad to use flat binary? If you don't need any of the things that some "real" executable format offers you, it is only going to make your code more complicated.

Re: Noob Help? (WalkerOs)

Posted: Sat May 09, 2009 9:20 pm
by neon
@Neon: Why is it bad to use flat binary? If you don't need any of the things that some "real" executable format offers you, it is only going to make your code more complicated.
Nothing bad about them - I just have a personal dislike of them do to their limitations and no standards, that's all. Id prefer having a cleaner design without the limitations of flat binary images, even if the end code is more complex.

Of course, this is just personal opinion, that's all :)

Re: Noob Help? (WalkerOs)

Posted: Sun May 10, 2009 7:33 am
by GeniusCobyWalker
The reason I was looking for someone else is that I just don't want to work on it alone.

I want to learn to do everything, otherwise it would not be my OS.

Lots say don't use GRUB, does that mean I have to write my own bootloader.
Also should I write the bootloader now or later?

Re: Noob Help? (WalkerOs)

Posted: Sun May 10, 2009 8:06 am
by neon
GeniusCobyWalker wrote:Lots say don't use GRUB, does that mean I have to write my own bootloader.
Who said that?

If Grub works and fits well in your OS design, then use it ;)

Re: Noob Help? (WalkerOs)

Posted: Sun May 10, 2009 11:05 am
by JohnnyTheDon
My personal preference on bootloaders is to create some kind of bootloading standard that fits your OS, then make an intermediate multiboot 'kernel' that takes the real kernel as a module and loads it according to that standard. If you need to create your own bootloader in the future you can, but allowing your os to be easily loaded by GRUB allows people who want to test it on RHW to just put the files in their boot directory and add an entry to the grub configuration file.

Re: Noob Help? (WalkerOs)

Posted: Mon May 11, 2009 5:46 pm
by GeniusCobyWalker
How does my source code look?
(Has anyone l00ked)

Re: Noob Help? (WalkerOs)

Posted: Mon May 11, 2009 6:24 pm
by neon
GeniusCobyWalker wrote:How does my source code look?
(Has anyone l00ked)
These are my comments on it:

-monitor.c and monitor.h contains code that have nothing to do with monitors.
-too much magic numbers. I personally -never- use magic numbers in production code.
-colors defined in the same file as the main entry point (black and blue)..should be at least in its own header file.
-hardcoded version string and OS name string. Might cause problems when new versions come out
-doesnt do anything. Its basically what you posted several months ago but different colors...

Please take this as opinion only; other members might have different opinions.

Re: Noob Help? (WalkerOs)

Posted: Mon May 11, 2009 6:27 pm
by Troy Martin
And I say this with respect for both you and the brain cells of the community: :D
Zeroes? What are you, a ten year old 1337 h4xx0r?
neon wrote:-too much magic numbers. I personally -never- use magic numbers in production code.
I prefer (in assembly) using constants with meaningful names (but in uppercase for the sake of case sensitivity.)
-monitor.c and monitor.h contains code that have nothing to do with monitors.
Many people use "monitor.c" to mean video/VGA -related stuff.

Re: Noob Help? (WalkerOs)

Posted: Mon May 11, 2009 7:40 pm
by neon
Many people use "monitor.c" to mean video/VGA -related stuff.
I know, it just doesn't make sense of a name to pick. If its video related stuff, video.h/c would better suit it. If its vga related stuff, vga.h/c would better suit it. A module called monitor, containing no routines for interfacing with a monitor is not a good choice on naming.

Just my 2 cents :)

Re: Noob Help? (WalkerOs)

Posted: Mon May 11, 2009 7:59 pm
by Troy Martin
neon wrote:
Many people use "monitor.c" to mean video/VGA -related stuff.
I know, it just doesn't make sense of a name to pick. If its video related stuff, video.h/c would better suit it. If its vga related stuff, vga.h/c would better suit it. A module called monitor, containing no routines for interfacing with a monitor is not a good choice on naming.

Just my 2 cents :)
That's true. I personally used video\v_text.c and include\video\v_text.h in an experimental kernel of mine for text mode video.