Weevil (planned)

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Vik2015
Posts: 15
Joined: Fri Sep 20, 2013 2:34 am

Weevil (planned)

Post by Vik2015 »

Finally I started working on my own operating system :). I want it to be like MS-DOS except it will not have any graphical apps (only text games :P). Currently there is nothing but the VGA driver. Maybe somebody can take a look at the code so I be sure that it contains no errors? :)

Gitrepo is here https://github.com/Vik2015/weevil/.

P. S. I hope my scrolling function is ok?
My own MS-DOS like OS :)
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
seuti
Member
Member
Posts: 74
Joined: Tue Aug 19, 2014 1:20 pm

Re: Weevil (planned)

Post by seuti »

Maybe you should have different directories for different platforms, just in case you wanted to expand in the future.
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Weevil (planned)

Post by Roman »

Move your strlen function to a separate file, e.g. string.c
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
Vik2015
Posts: 15
Joined: Fri Sep 20, 2013 2:34 am

Re: Weevil (planned)

Post by Vik2015 »

Ok, thanks guys. Repo updated
My own MS-DOS like OS :)
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Weevil (planned)

Post by Roman »

Vik2015 wrote:Ok, thanks guys. Repo updated
You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
Vik2015
Posts: 15
Joined: Fri Sep 20, 2013 2:34 am

Re: Weevil (planned)

Post by Vik2015 »

Roman wrote:
Vik2015 wrote:Ok, thanks guys. Repo updated
You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.
Uhh, not sure what do you mean. Something like this?

Code: Select all

/ #These files are platform-independent. Makefile can be run as `make i686' && `make ...' && ...
  Makefile
  grub.cfg
  # Not sure about those two - they may be platform dependent
  boot.asm
  linker.ld
  i686/
    src/
      kernel.c
      ...
  .../
    src/
      ...
My own MS-DOS like OS :)
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
Nable
Member
Member
Posts: 453
Joined: Tue Nov 08, 2011 11:35 am

Re: Weevil (planned)

Post by Nable »

Roman wrote:You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.
Topicstarter wants smth like MS-DOS, due to this fact I think that portability and expandable architecture aren't planned at all.

Of course, I should mention this starting point: http://wiki.osdev.org/Beginner_Mistakes .
And one more: http://wiki.osdev.org/Getting_Started .
Last edited by Nable on Fri Feb 06, 2015 4:24 am, edited 1 time in total.
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Weevil (planned)

Post by Roman »

Vik2015 wrote:
Roman wrote:
Vik2015 wrote:Ok, thanks guys. Repo updated
You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.
Uhh, not sure what do you mean. Something like this?

Code: Select all

/ #These files are platform-independent. Makefile can be run as `make i686' && `make ...' && ...
  Makefile
  grub.cfg
  # Not sure about those two - they may be platform dependent
  boot.asm
  linker.ld
  i686/
    src/
      kernel.c
      ...
  .../
    src/
      ...

Code: Select all

Makefile
grub.cfg
linker.ld # Can be dependent.
arch/
       /x86
       /...
main.c
All assembly files are arch-dependent, C files can be different, e.g. your VGA driver is arch-dependent, string.c - no.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Weevil (planned)

Post by Roman »

Nable wrote:
Roman wrote:You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.
Topicstarter wants smth like MS-DOS, due to this fact I think that portability and expandable architecture aren't planned at all.

Of course, I should mention this starting point: http://wiki.osdev.org/Beginner_Mistakes .
And one more: http://wiki.osdev.org/Getting_Started .
His OS is already unlike DOS: written in C, 32-bit and protected.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: Weevil (planned)

Post by BrightLight »

Vik2015 wrote:[...] I want it to be like MS-DOS
So it will be a 16-bit DOS-like OS? It's quite odd you're using GRUB for that though.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
Vik2015
Posts: 15
Joined: Fri Sep 20, 2013 2:34 am

Re: Weevil (planned)

Post by Vik2015 »

omarrx024 wrote:
Vik2015 wrote:[...] I want it to be like MS-DOS
So it will be a 16-bit DOS-like OS? It's quite odd you're using GRUB for that though.
Well, I didn't want to create my own bootloader (thought I know how - using BIOS calls to read/load sectors, etc.). I am also gonna *try* to write it using only real mode (64kb memory should be enough I guess?) but without using any BIOS calls (or just minimal amount of them).

P. S. It is my first OS dev project after all, don't expect me to be a pro && understand everything :)
My own MS-DOS like OS :)
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: Weevil (planned)

Post by BrightLight »

Vik2015 wrote:Well, I didn't want to create my own bootloader (thought I know how - using BIOS calls to read/load sectors, etc.). I am also gonna *try* to write it using only real mode (64kb memory should be enough I guess?) but without using any BIOS calls (or just minimal amount of them).
You should see this page. It explains on how to switch between 32-bit and 16-bit mode, so you can use BIOS interrupts for disk access. It's also good because your system probably won't be multitasking, seeing it's DOS-like. If you don't want to do this, see Virtual 8086 Mode, which allows you to execute 16-bit code in a 32-bit environment.
For a beginner, the first link is easier to follow. ;)
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
iansjack
Member
Member
Posts: 4685
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Weevil (planned)

Post by iansjack »

Rather than all the kludging with 16-bit and/or Virtual 8086 mode, why not just write a proper disk driver?
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: Weevil (planned)

Post by BrightLight »

iansjack wrote:Rather than all the kludging with 16-bit and/or Virtual 8086 mode, why not just write a proper disk driver?
Because he wants a DOS-like OS, which probably means it would be 16-bit.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Muazzam
Member
Member
Posts: 543
Joined: Mon Jun 16, 2014 5:59 am
Location: Shahpur, Layyah, Pakistan

Re: Weevil (planned)

Post by Muazzam »

iansjack wrote:Rather than all the kludging with 16-bit and/or Virtual 8086 mode, why not just write a proper disk driver?
A single driver is not enough for IDE hard disk, SATA, USB, floppy etc. But a one BIOS interrupt can do that.
Post Reply