Weevil (planned)
Weevil (planned)
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 ). 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?
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/
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
Re: Weevil (planned)
Maybe you should have different directories for different platforms, just in case you wanted to expand in the future.
Re: Weevil (planned)
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
- Alan Kay
Re: Weevil (planned)
Ok, thanks guys. Repo updated
My own MS-DOS like OS
https://github.com/Vik2015/weevil/
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
Re: Weevil (planned)
You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.Vik2015 wrote:Ok, thanks guys. Repo updated
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
- Alan Kay
Re: Weevil (planned)
Uhh, not sure what do you mean. Something like this?Roman wrote:You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.Vik2015 wrote:Ok, thanks guys. Repo updated
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/
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
Re: Weevil (planned)
Topicstarter wants smth like MS-DOS, due to this fact I think that portability and expandable architecture aren't planned at all.Roman wrote:You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.
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.
Re: Weevil (planned)
Vik2015 wrote:Uhh, not sure what do you mean. Something like this?Roman wrote:You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.Vik2015 wrote:Ok, thanks guys. Repo updatedCode: 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
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
- Alan Kay
Re: Weevil (planned)
His OS is already unlike DOS: written in C, 32-bit and protected.Nable wrote:Topicstarter wants smth like MS-DOS, due to this fact I think that portability and expandable architecture aren't planned at all.Roman wrote:You should place arch-dependent source files into arch/${ARCH}, arch-independent in the root of src.
Of course, I should mention this starting point: http://wiki.osdev.org/Beginner_Mistakes .
And one more: http://wiki.osdev.org/Getting_Started .
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
- Alan Kay
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: Weevil (planned)
So it will be a 16-bit DOS-like OS? It's quite odd you're using GRUB for that though.Vik2015 wrote:[...] I want it to be like MS-DOS
You know your OS is advanced when you stop using the Intel programming guide as a reference.
Re: Weevil (planned)
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).omarrx024 wrote:So it will be a 16-bit DOS-like OS? It's quite odd you're using GRUB for that though.Vik2015 wrote:[...] I want it to be like MS-DOS
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/
https://github.com/Vik2015/weevil/
http://bestsoft.azurewebsites.net/ wrote: With Bestsoft Space you can write operating system eaven if it your first software.
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: Weevil (planned)
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.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).
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.
Re: Weevil (planned)
Rather than all the kludging with 16-bit and/or Virtual 8086 mode, why not just write a proper disk driver?
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: Weevil (planned)
Because he wants a DOS-like OS, which probably means it would be 16-bit.iansjack wrote:Rather than all the kludging with 16-bit and/or Virtual 8086 mode, why not just write a proper disk driver?
You know your OS is advanced when you stop using the Intel programming guide as a reference.
Re: Weevil (planned)
A single driver is not enough for IDE hard disk, SATA, USB, floppy etc. But a one BIOS interrupt can do that.iansjack wrote:Rather than all the kludging with 16-bit and/or Virtual 8086 mode, why not just write a proper disk driver?