Page 1 of 1

OS developer - beginner needs help

Posted: Thu Mar 29, 2001 12:00 am
by xyz
I am a programmer. I used to use VB,C++ etc.
But I always, wanted to write an OS. So I learnt
C. I also got myself a book on assembly language
for the 8086.

Now I am comfortable with assembly language & C.
I collected a lot of tutorials & examples.
many of the examples use protected mode, A20 line...etc.

First I want to write a simple OS in real mode then
move on to using the advanced features of the
286,386....
Can you tell me how to go about it.

for example, a list of things i should have a knowledge of
before i start out( so that I don't have problems during the
development ) [ **just for the simple REAL MODE OS** ].
and where to get it.

Another question,
How do we pass control to kernel from the bootsector,
if we can't set the CS & IP registers. please help me out.?

RE:OS developer - beginner needs help

Posted: Thu Mar 29, 2001 12:00 am
by ATG
>On 2001-03-29 03:00:06, xyz wrote:
>First I want to write a simple OS in real mode then
>move on to using the advanced features of the
>286,386... Can you tell me how to go about it.

Oh, So you want to go against the crowd and do
things the smart way (tm)?

Commendable! =)

Now if you're really smart you will team up with someone
like me who has been in the business for many years
but isn't the greatest coder. =\

I have most of the knowlege it will take to not only make an
OS but make a GREAT OS that will survive for decades... =)

I'll team up with just about anyone just so long as they are
as committed and reliable as myself.

>for example, a list of things i should have a knowledge of
>before i start out( so that I don't have problems during the
>development ) [ **just for the simple REAL MODE OS** ].
>and where to get it.

Ralph Brown's interrupt list and a knowlege of the
memory map of your system
(some systems have hidden artifacts in what was
historicly a wide open UMB area...)

More advanced stuff requires detailed knowlege of
your chipset... You could fudge it and do things
based on the 1984 AT manual but I doubt you are
that much of a palentologist...

>Another question,
>How do we pass control to kernel from the bootsector,
>if we can't set the CS & IP registers. please help me out.?

Look up JMP instruction!!!!

RE:OS developer - beginner needs help

Posted: Sat Jul 28, 2001 11:00 pm
by Guest
>On 2001-03-29 03:00:06, xyz wrote:
>I am a programmer. I used to use VB,C++ etc.
>But I always, wanted to write an OS. So I learnt
>C. I also got myself a book on assembly language
>for the 8086.
>
>Now I am comfortable with assembly language & C.
>I collected a lot of tutorials & examples.
>many of the examples use protected mode, A20 line...etc.
>
>First I want to write a simple OS in real mode then
>move on to using the advanced features of the
>286,386....
>Can you tell me how to go about it.
>

I started just like you if you need my help email me :
[email protected]

>Another question,
>How do we pass control to kernel from the bootsector,
>if we can't set the CS & IP registers. please help me out.?

one way to do it :

flush_jump:
db 66h ;far jump to kernel (opcodes of far jump)
db 0eah ;

kernel_address:
dd 70000h ; addres of your kernel(mine is 70000h)
dw 8h ; selector of kernel code segment