OSDev.org

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

All times are UTC - 6 hours




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: xOS v0.08 -- testing kindly requested!
PostPosted: Fri May 19, 2017 8:36 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
Hi, OSDev community!

I've just released xOS v0.08 alpha release, in which I've fixed all known bugs from v0.07, including the window drag issue, and the button spam issue, and the calculator divide by zero error, in which it just closed. I've also written a 2048 game clone.
Image

I'd really appreciate it if any of you are kind enough to test it and give me positive or negative feedback, as both help me move forward. :)

Hard disk image. (ZIP, 484 KB)
Source code at time of release.

As always, the hard disk image can be used with VirtualBox or QEMU. It works with both IDE and SATA.

Thanks in advance! :)

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: xOS v0.08 -- testing kindly requested!
PostPosted: Sat May 20, 2017 1:55 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 16, 2014 5:59 am
Posts: 543
Location: Shahpur, Layyah, Pakistan
Works well. You forgot to add game over in 2048 (when tiles can't move).

Time is inaccurate but it has probably something to do with time zone.


Top
 Profile  
 
 Post subject: Re: xOS v0.08 -- testing kindly requested!
PostPosted: Sat May 20, 2017 3:28 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
Hey, I just tried it out.

Firstly I have to say that it is really fast, I wasn't experiencing any lag, shuttering, ghosting, etc... But I ran into a couple of issues while I was playing with it. I guess it is not quite 1080p ready. Even managed to get a page fault :P. Also I couldn't do anything with the tiles. All in all it is one really well optimized peace of assembly OS. As others mentioned, your timekeeping seems to be off by a lot. Keep up the great work!
Image

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


Top
 Profile  
 
 Post subject: Re: xOS v0.08 -- testing kindly requested!
PostPosted: Sat May 20, 2017 4:32 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
Muazzam wrote:
Time is inaccurate but it has probably something to do with time zone.

The time is read from the CMOS chip, and so is most likely in UTC. I'll have to add time zone support, but customization is not really a priority now.

Octacone wrote:
But I ran into a couple of issues while I was playing with it. I guess it is not quite 1080p ready. Even managed to get a page fault :P.

There's no reason for it not to work in a high resolution; it works in both 1024x768 and 1366x768 as it uses EDID to detect the resolution which the monitor is optimized for. How did you get a page fault? Can you reproduce the error or attach the log file from the serial port? I am assuming you rebuilt the kernel as you changed the font and the default resolution. Is there anything else you tweaked with? BTW, how did you get this image too? How did you corrupt the wallpaper image?

Thanks a lot for testing, both of you!

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: xOS v0.08 -- testing kindly requested!
PostPosted: Sat May 20, 2017 6:38 pm 
Offline
Member
Member
User avatar

Joined: Sat Nov 22, 2014 6:33 pm
Posts: 934
Location: USA
HI,

Glad to see that you have been working (successfully) on your USB/UHCI code. Congrats.

Anyway, I was looking over your boot code, especially the MBR and have a few comments, if you don't mind.

Code:
   test byte[part1.boot], 0x80
   jnz .boot1

   test byte[part2.boot], 0x80
   jnz .boot2

   test byte[part3.boot], 0x80
   jnz .boot3

   test byte[part4.boot], 0x80
   jnz .boot4

   mov si, _no_active_partition
   call print

   jmp $

.boot1:
   mov si, part1
   jmp load_boot_sector

.boot2:
   mov si, part2
   jmp load_boot_sector

can easily, and more to the point, give you more room in the MBR, to this:

Code:
   mov si, part1
   mov cx,4
some_loop:
   test byte[si], 0x80
   jnz  load_boot_sector
   add si,16
   loop some_loop

   mov si, _no_active_partition
   call print

   jmp $

You have quite a few (unnecessary) jmp's in there. Set the 'SI' value, then check the boot indicator.
Anyway, that isn't really important, other than to give you more space in the 512 - 4*16 - 2 bytes that you have.

The reason?
Code:
    mov ah, 0x42
   mov dl, [bootdisk]
   mov si, dap
   int 0x13

You don't check for the capability of this service before you use this service.

Now, this can be debatable. How much backward compatibility do you support? Most any BIOS, including emulated ones, will support this service. But are you sure about it?

Anyway, I had a few minutes and was curious about your code and started at the beginning. I always appreciate comments about my stuff, so I thought I would repay the favor.

Ben
http://www.fysnet.net/osdesign_book_series.htm


Top
 Profile  
 
 Post subject: Re: xOS v0.08 -- testing kindly requested!
PostPosted: Sat May 20, 2017 6:51 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
BenLunt wrote:
Glad to see that you have been working (successfully) on your USB/UHCI code. Congrats.

Thanks! It's not as bad as I thought, really. It's just that at the beginning, I was intimidated by how people talk about USB's complexity and the size of the USB specs. :mrgreen:

BenLunt wrote:
You have quite a few (unnecessary) jmp's in there. Set the 'SI' value, then check the boot indicator.
Anyway, that isn't really important, other than to give you more space in the 512 - 4*16 - 2 bytes that you have.

The reason?
Code:
    mov ah, 0x42
   mov dl, [bootdisk]
   mov si, dap
   int 0x13

You don't check for the capability of this service before you use this service.

Now, this can be debatable. How much backward compatibility do you support? Most any BIOS, including emulated ones, will support this service. But are you sure about it?

I don't think I need to check for the capability of this service. Anyway, if I check for the capability of the service and it is not supported, I will just abort with an error message and not turn back to CHS functions. So, it's pretty much as trying to run the service on a BIOS in which it doesn't exist, which will also return an error. The EDD 1.1 spec seems to exist since 1995, so it's probably safe to say it was implemented everywhere by 2000.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 27 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