OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 11:14 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 3898 posts ]  Go to page Previous  1 ... 190, 191, 192, 193, 194, 195, 196 ... 260  Next
Author Message
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sat Mar 04, 2017 5:07 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
When somebody asks you what are you doing, you be like:


Attachments:
Paging_Fun.png
Paging_Fun.png [ 11.25 KiB | Viewed 4225 times ]

_________________
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader


Last edited by Octacone on Sun Mar 05, 2017 4:42 am, edited 1 time in total.
Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sat Mar 04, 2017 9:11 am 
Offline
Member
Member
User avatar

Joined: Fri Apr 03, 2015 9:41 am
Posts: 492
Woo-hoo! U365 1.2, FS works. Yay!


Attachments:
Screenshot_20170304_180550.png
Screenshot_20170304_180550.png [ 13.48 KiB | Viewed 4344 times ]

_________________
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing

OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.
Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sat Mar 04, 2017 2:12 pm 
Offline
Member
Member
User avatar

Joined: Wed Aug 17, 2016 4:55 am
Posts: 251
Got the keyboard working (・o・)

Image

(the + after the version is to indicate it's a post-release version rather than the one actually marked as 0.10)


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sat Mar 04, 2017 5:12 pm 
Offline
Member
Member
User avatar

Joined: Tue Aug 02, 2016 1:52 pm
Posts: 286
Location: East Riding of Yorkshire, UK
Sik wrote:
(the + after the version is to indicate it's a post-release version rather than the one actually marked as 0.10)

You could add the current Git commit hash as a define while building

_________________
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sun Mar 05, 2017 3:07 am 
Offline
Member
Member
User avatar

Joined: Fri Apr 03, 2015 9:41 am
Posts: 492
ELF binaries work almost fine. Awesome, isn't it?


Attachments:
Screenshot_20170305_120533.png
Screenshot_20170305_120533.png [ 13.19 KiB | Viewed 4241 times ]

_________________
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing

OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.
Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Tue Mar 07, 2017 9:53 am 
Offline
Member
Member
User avatar

Joined: Sun Nov 20, 2016 7:26 am
Posts: 155
Location: Somewhere
My v8086 monitor is almost done.

I'm debugging it with 3 second delays when it called.

Image

_________________
Keyboard not found!

Press F1 to run setup.
Press F2 to continue.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Tue Mar 07, 2017 12:04 pm 
Offline
Member
Member
User avatar

Joined: Fri Apr 03, 2015 9:41 am
Posts: 492
First (useless) ELF program for U365.


Attachments:
Screenshot_20170307_210427.png
Screenshot_20170307_210427.png [ 16.14 KiB | Viewed 4052 times ]

_________________
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing

OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.
Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Tue Mar 07, 2017 12:30 pm 
Offline
Member
Member
User avatar

Joined: Sun Nov 20, 2016 7:26 am
Posts: 155
Location: Somewhere
Finally finished the V8086 Monitor.
Runned int 0x10 with ax = 0x4F02, bx = 0x117:

Image

And I have a question:

I have a book called "8086 Assembly", and I made the V8086 Monitor with help of this book.

The book says push and pop operations are different than 80286+ CPUs. Because SP shows the empty word in the stack in 80286+ CPUs, but SP shows the last word in the stack in 8086 CPUs.

So order of operations in push and pop in 8086 CPUs:

PUSH src:

SP <--- SP - 2
SS:[SP] <--- src

POP src:

src <--- SS:[SP]
SP <--- SP + 2

So order of operations in push and pop in 80286+ CPUs:

PUSH src:

SS:[SP] <--- src
SP <--- SP - 2

POP src:

SP <--- SP + 2
src <--- SS:[SP]

As the V8086 Mode's name has 8086 in it, I thought 8086 rules are valid, not 80286+ rules. And I coded pushf and popd by applying 8086 rules. It works, but is that really correct? Which one should I use, the 8086 push and pop or 80286+ push and pop?

_________________
Keyboard not found!

Press F1 to run setup.
Press F2 to continue.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Tue Mar 07, 2017 7:31 pm 
Offline
Member
Member

Joined: Sat Feb 27, 2010 8:55 pm
Posts: 147
Agola wrote:
Finally finished the V8086 Monitor.

And I have a question:

I have a book called "8086 Assembly", and I made the V8086 Monitor with help of this book.

The book says push and pop operations are different than 80286+ CPUs. Because SP shows the empty word in the stack in 80286+ CPUs, but SP shows the last word in the stack in 8086 CPUs.

So order of operations in push and pop in 8086 CPUs:

PUSH src:

SP <--- SP - 2
SS:[SP] <--- src

POP src:

src <--- SS:[SP]
SP <--- SP + 2

So order of operations in push and pop in 80286+ CPUs:

PUSH src:

SS:[SP] <--- src
SP <--- SP - 2

POP src:

SP <--- SP + 2
src <--- SS:[SP]

As the V8086 Mode's name has 8086 in it, I thought 8086 rules are valid, not 80286+ rules. And I coded pushf and popd by applying 8086 rules. It works, but is that really correct? Which one should I use, the 8086 push and pop or 80286+ push and pop?


You're a bit mixed up. For all processors when you're done with a push sp points to the pushed value. The difference is when sp is decremented:
8086:
sp = sp-2
[sp] = src
186+
[sp -2] = src
sp = sp -2

The big difference arises when pushing sp.

Anyway, i think v86 merely emulates real mode, not an actual 8086


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Tue Mar 07, 2017 8:42 pm 
Offline
Member
Member

Joined: Tue Mar 04, 2014 5:27 am
Posts: 1108
Don't emulate 8086 bugs.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Tue Mar 07, 2017 11:50 pm 
Offline
Member
Member
User avatar

Joined: Sun Nov 20, 2016 7:26 am
Posts: 155
Location: Somewhere
azblue wrote:
Agola wrote:
Finally finished the V8086 Monitor.

And I have a question:

I have a book called "8086 Assembly", and I made the V8086 Monitor with help of this book.

The book says push and pop operations are different than 80286+ CPUs. Because SP shows the empty word in the stack in 80286+ CPUs, but SP shows the last word in the stack in 8086 CPUs.

So order of operations in push and pop in 8086 CPUs:

PUSH src:

SP <--- SP - 2
SS:[SP] <--- src

POP src:

src <--- SS:[SP]
SP <--- SP + 2

So order of operations in push and pop in 80286+ CPUs:

PUSH src:

SS:[SP] <--- src
SP <--- SP - 2

POP src:

SP <--- SP + 2
src <--- SS:[SP]

As the V8086 Mode's name has 8086 in it, I thought 8086 rules are valid, not 80286+ rules. And I coded pushf and popd by applying 8086 rules. It works, but is that really correct? Which one should I use, the 8086 push and pop or 80286+ push and pop?


You're a bit mixed up. For all processors when you're done with a push sp points to the pushed value. The difference is when sp is decremented:
8086:
sp = sp-2
[sp] = src
186+
[sp -2] = src
sp = sp -2

The big difference arises when pushing sp.

Anyway, i think v86 merely emulates real mode, not an actual 8086



Actually I'm not a native speaker and sometimes I can't explain what do I mean correctly. While I reading my post I noticed the explanation problem, thanks.

When I do the 80286+ way it doesnt work, I got confused again. As BIOS in QEMU designed to run in a 80386+ processor, so the 80286+ way should work instead of the 8086 way. But 8086 way is working, 80286 way not. Strange.

Edit: My bad, I forgot my memory read / write functions' directions are to up. As stack growns down, I always did the same what a 386 does actually.
As I can't fully explain what do I mean, I prepared that image:

Image

Thanks, everything is good now.

_________________
Keyboard not found!

Press F1 to run setup.
Press F2 to continue.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Thu Mar 09, 2017 5:31 am 
Offline
Member
Member
User avatar

Joined: Fri Apr 03, 2015 9:41 am
Posts: 492
Now I have first program for U365 that does something good. It's cat. I implemented read/open/write syscalls and now it works. Gonna make Surface syscalls now.


Attachments:
Screenshot_20170309_142923.png
Screenshot_20170309_142923.png [ 17.32 KiB | Viewed 3840 times ]

_________________
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing

OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.
Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Thu Mar 09, 2017 7:33 am 
Offline
Member
Member

Joined: Fri Feb 10, 2017 8:25 am
Posts: 30
osdeverr wrote:
Now I have first program for U365 that does something good. It's cat. I implemented read/open/write syscalls and now it works. Gonna make Surface syscalls now.


That looks really promising :) those MOTDs gave me a hearty chuckle! Are you loading the cat command dynamically during execution? if so, you've opened a whole world of possibilities for your OS - cant wait to reach that point in development too =D>

--

Got ATA and FAT16 disk loading working (around 90%), need to get file allocation table navigation functional in order to link paths together for the "ls" command. but its going very well at the moment!

I've moved to exclusively C++ code for the kernel, the class system is a dream for my implementation of Surfaces! Each surface is inserted into a vector which I can iterate over, re-order, etc. so handy. My libc++ has a few essential STL classes: strings, vectors and bitsets currently. Aiming to get further classes implemented soon


Attachments:
img-1.png
img-1.png [ 30.57 KiB | Viewed 3834 times ]
Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Thu Mar 09, 2017 7:58 am 
Offline
Member
Member
User avatar

Joined: Fri Apr 03, 2015 9:41 am
Posts: 492
prasoc wrote:
osdeverr wrote:
Now I have first program for U365 that does something good. It's cat. I implemented read/open/write syscalls and now it works. Gonna make Surface syscalls now.


That looks really promising :) those MOTDs gave me a hearty chuckle! Are you loading the cat command dynamically during execution? if so, you've opened a whole world of possibilities for your OS - cant wait to reach that point in development too =D>


Wow, thanks a lot, prasoc! Yes, I load cat dynamically from my initrd. Actually it wasn't a trivial task to achieve: we worked a lot with it. That work finally paid off. I'm gonna create my own libc now :P

_________________
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing

OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Fri Mar 10, 2017 6:22 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 17, 2016 6:58 am
Posts: 101
Location: The Internet
osdeverr wrote:
prasoc wrote:
osdeverr wrote:
Now I have first program for U365 that does something good. It's cat. I implemented read/open/write syscalls and now it works. Gonna make Surface syscalls now.


That looks really promising :) those MOTDs gave me a hearty chuckle! Are you loading the cat command dynamically during execution? if so, you've opened a whole world of possibilities for your OS - cant wait to reach that point in development too =D>


Wow, thanks a lot, prasoc! Yes, I load cat dynamically from my initrd. Actually it wasn't a trivial task to achieve: we worked a lot with it. That work finally paid off. I'm gonna create my own libc now :P

Wait, you did all of that with your link/no standard library? I am simply amazed.

_________________
Everyone should know how to program a computer, because it teaches you how to think! -Steve Jobs
Code:
while ( ! ( succeed = try() ) );


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3898 posts ]  Go to page Previous  1 ... 190, 191, 192, 193, 194, 195, 196 ... 260  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot] and 60 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group