News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Where to begin in Kernel development

Started by Justsomeguy, March 03, 2018, 01:22:48 AM

Previous topic - Next topic

Justsomeguy

Hi, I'm currently in the process of wanting to write my own mini Kernel, for what I'm planning to be a os that I've dream of writing since I was a kid.
I was just wondering, where does one begin?
I've seemed to hit a brick wall.
Plus, this is my first post since I've signed up. So, nice to me you all.

aw27

One thing I am sure, you will never be able to make your own mini-kernel in MASM, eventually with others like NASM or FASM you could, may be UASM as well.

Quote
I was just wondering, where does one begin?
I would begin with Google.

FORTRANS

#2
Hi,

  Welcome to the forum.

  Have you looked at;

https://wiki.osdev.org/ ?

  Not using MASM is probably more a legal issue (you are only
supposed to use it for Microsoft operating systems) than any
lack of capability.

Cheers,

Steve N.

aw27

Quote
Not using MASM is probably more a legal issue (you are only
supposed to use it for Microsoft operating systems) than any
lack of capability.
There is also a legal issue? I never though about that.
Let me know how do you boot your MASM developed kernel?

Justsomeguy

So what version of assembly should I use?

aw27

Quote from: Justsomeguy on March 03, 2018, 02:42:55 AM
So what version of assembly should I use?
I hinted about that but I believe Google will provide you a very comprehensive list of alternatives with pros and cons.  :idea:

jj2007

Unless José alias aw27 comes out with some revolutionary and plausible explanation why Masm (or, better, its UAsm clone) cannot produce the same identical code as FASM, NASM & friends, you can safely assume that yes indeed, you can use Masm to write your Kernel.

Vortex

Quote from: aw27 on March 03, 2018, 02:22:43 AM
There is also a legal issue? I never though about that.
Let me know how do you boot your MASM developed kernel?

You can use Qemu to boot a kernel, it should be good for testing purposes.

FORTRANS

#8
Hi,

Quote from: aw27 on March 03, 2018, 02:22:43 AMLet me know how do you boot your MASM developed kernel?

  Dave, Zak, and I worked on a boot loader on the old forum.
That might be of interest to our poster as well.
Well, maybe not so much, I didn't get too far with it.

Cheers,

Steve N.

aw27

Quote from: jj2007 on March 03, 2018, 05:35:18 AM
Unless José alias aw27 comes out with some revolutionary and plausible explanation why Masm (or, better, its UAsm clone) cannot produce the same identical code as FASM, NASM & friends, you can safely assume that yes indeed, you can use Masm to write your Kernel.

You have no idea at all about many things, JJ, unfortunately.
The reason UASM can be used is that UASM allows to assemble in raw binary format. MASM does not, so MASM depends in all the apparatus that a kernell will make available in the first place and will not be available at the time. These matters have been discussed over and over I don't know how people forget them.

jj2007

Quote from: aw27 on March 03, 2018, 06:35:57 AMYou have no idea at all about many things, JJ, unfortunately.
Yes, that's true :greensml:

QuoteThe reason UASM can be used is that UASM allows to assemble in raw binary format. MASM does not, so MASM depends inon all the apparatus that a kernell will make available in the first place and will not be available at the time.
Interesting. I wonder how difficult it would be to translate the "normal" format into raw binary. If I had a lot of spare time, I would look into it 8)

aw27

Quote from: jj2007 on March 03, 2018, 07:01:37 AM
Interesting. I wonder how difficult it would be to translate the "normal" format into raw binary. If I had a lot of spare time, I would look into it 8)
Nothing that your Magic Basic can't do, my friend.  :lol:

HSE

You can't use MASM for OS development because don't have a couple of especific opcodes. But you can use the others assemblers with full set of opcodes. I think there is an explanation in SolAsm section.
Equations in Assembly: SmplMath

jj2007

Quote from: HSE on March 03, 2018, 08:21:08 AMYou can't use MASM for OS development because don't have a couple of especific opcodes.

The "M" in Masm stands for "macro". If you don't know how to write such macros, there is always db 12h, 34h etc.

HSE

Equations in Assembly: SmplMath