OSDev.org
https://forum.osdev.org/

xOS v0.07 -- testing needed!
https://forum.osdev.org/viewtopic.php?f=2&t=31310
Page 1 of 2

Author:  BrightLight [ Sat Jan 28, 2017 11:39 am ]
Post subject:  xOS v0.07 -- testing needed!

Hey guys!
After more than 5 months since my last release, I finally make another alpha release of xOS. A lot can happen in 5 months, and a lot has happened. New things:
  • Rewrote AHCI driver - boots from SATA on QEMU, VirtualBox and real HW.
  • Reworked GUI - wallpaper, transparency, and shell.
  • Graphical toolkit and applications to demonstrate, including calculator.
  • Loading programs from disk.
  • Performance improvements everywhere.
  • (Incomplete) ACPI AML interpreter.
  • Other small things I can't think of now.
I've also moved to the MIT license instead of the GPL. Here's the GitHub release. Your feedback is greatly appreciated!

Author:  stevej150 [ Sat Jan 28, 2017 12:08 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

It reminds me of KolibriOS. Great operating system! I would love to see you have a file manager and to be able to install it on hard disk with ISO. Did you use jmp word 0xffff:0000 for reboot? By the way, where's the shell?

Author:  BrightLight [ Sat Jan 28, 2017 12:22 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

stevej150 wrote:
It reminds me of KolibriOS. Great operating system! I would love to see you have a file manager and to be able to install it on hard disk with ISO. Did you use jmp word 0xffff:0000 for reboot? By the way, where's the shell?

Thanks! A file manager is coming soon, but ISO and CD/DVD support is rather far down in my to-do list. For reboot, I use the PS/2 controller (writing 0xFE to port 0x64) but ACPI reset will be implemented in the coming time, for better real hardware compatibility. The shell doesn't mean a traditional "terminal"; I have a graphical shell. The start menu and taskbar are parts of the graphical shell.

Author:  pdurlej [ Sat Jan 28, 2017 1:27 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

A neat GUI.

However, mouse behavior is weird while dragging.

It does not seem to track the active window properly when a mouse button is depressed. When a window is dragged too fast, or the mouse pointer is too close to the title bar border, the GUI tends to stop updating the window position (and mouse input is delivered to the window under the mouse pointer instead).

Also, it's possible do move a window when the mouse pointer is completely outside that window. To reproduce: open a window. Start moving the window by dragging it's title bar. Rapidly move the mouse pointer upwards. The GUI stops updating the window position despite the mouse button is not released. Move the mouse pointer to the left or right of the window. The GUI suddenly resumes to update the window position even though the mouse pointer is outside the window.

Finally, when the left mouse button is depressed and the mouse pointer is moved over a button in the calculator app, the app responds as if the button was clicked each time the mouse pointer is moved inside a button. This leads to inadvertent entry of digits when trying to quickly enter numbers into the calculator.

Author:  sleephacker [ Sat Jan 28, 2017 1:49 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

I noticed the same things in the GUI, and also crashed the graphical shell by opening many applications, I left the serial outputs in an issue on your github release.

Author:  stevej150 [ Sat Jan 28, 2017 2:06 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

omarrx024 wrote:
stevej150 wrote:
It reminds me of KolibriOS. Great operating system! I would love to see you have a file manager and to be able to install it on hard disk with ISO. Did you use jmp word 0xffff:0000 for reboot? By the way, where's the shell?

Thanks! A file manager is coming soon, but ISO and CD/DVD support is rather far down in my to-do list. For reboot, I use the PS/2 controller (writing 0xFE to port 0x64) but ACPI reset will be implemented in the coming time, for better real hardware compatibility. The shell doesn't mean a traditional "terminal"; I have a graphical shell. The start menu and taskbar are parts of the graphical shell.


You mean - in 0x64, 0xFE?!
How did you learn to do all this OS development? Where did you learn? It's amazing.

Author:  BrightLight [ Sat Jan 28, 2017 2:08 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

Thanks for testing!
pdurlej: I know about the window manager problems. I'm going to rewrite the window manager event handler soon, and these issues should be gone.
sleephacker: I've commented on your GitHub issue, explaining why the problems you mentioned happened. I'll be sure to fix that soon, too.

Author:  BrightLight [ Sat Jan 28, 2017 2:10 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

stevej150 wrote:
You mean - in 0x64, 0xFE?!

To reset the PC:
Code:
outb(0x64, 0xFE);


stevej150 wrote:
By the way, I will make applications for you, ok?

Feel free to experiment as you like; however, there is still no real documentation for the kernel API, and the source code is as close as you can get to documentation. I wouldn't encourage you to write actual applications yet, though, as the APIs are still under early development and change often and other things are just plain missing (e.g. textbox component, hierarchy support, etc...)

Author:  stevej150 [ Sat Jan 28, 2017 2:11 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

I might make applications. By the way, how did you learn all the OS development? I might join you and help you develop! We can work on parts.

Author:  f2 [ Sat Jan 28, 2017 2:22 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

I noticed the same bugs too. However, the GUI is pretty fast, at least on VirtualBox.
One suggestion: you should add a border around your windows :)

Author:  BrightLight [ Sat Jan 28, 2017 2:58 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

stevej150 wrote:
I might make applications. By the way, how did you learn all the OS development? I might join you and help you develop! We can work on parts.

I learnt mostly from the OSDev Wiki, and reading documentation when the OSDev Wiki was insufficient, and posting here as a final resort.

f2 wrote:
I noticed the same bugs too. However, the GUI is pretty fast, at least on VirtualBox.
One suggestion: you should add a border around your windows :)

Thanks! The window theme can be configured. At the moment, the OS doesn't load a configuration file from the disk, but you can change the values at the top of kernel/gui/wm.asm to suit your liking and add a border. Most of them are self-explanatory.
Code:
; Window Theme!
; TO-DO: Set these values from a theme file from the disk (i.e. make the gui customizable)
align 4
wm_color         dd 0x808080
;wm_color         dd 0x004288
window_title         dd 0xFFFFFF
window_inactive_title      dd 0xC0C0C0
window_border         dd 0x383838
window_active_border      dd 0x383838
window_active_outline      dd 0x00A2E8
window_close_color      dd 0xD80000
window_background      dd 0xD0D0D0
window_opacity         db 1      ; valid values are 0 to 4, 0 = opaque, 1 = less transparent, 4 = most transparent.

align 4
window_border_x_min      dw 0      ; min x pos for a 0 width window
window_border_y_min      dw 24      ; min y pos for a 0 height window
window_close_position      db 0      ; 0 = left, 1 = right, for now this has no effect

align 4
window_close_x         dw 4
window_close_y         dw 4
window_close_width      dw 16
window_close_height      dw 16

window_title_x         dw 24
window_title_y         dw 4
window_canvas_x         dw 0
window_canvas_y         dw 24

Author:  nielsd [ Sun Jan 29, 2017 12:35 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

Works great, aside from the issue with fast window dragging (which was mentioned earlier), works neat.
An issue I experienced in the calculator is when dividing with zero, it just closes instead of giving an error.
I see you currently have a bitmap font, are you planning on implementing TTF font rendering or something along those lines later?
Also, I suggest you to not include binary files in your github repository (disk.hdd).
Great work, keep going :)

Author:  BrightLight [ Sun Jan 29, 2017 1:11 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

ndke wrote:
Works great, aside from the issue with fast window dragging (which was mentioned earlier), works neat.
An issue I experienced in the calculator is when dividing with zero, it just closes instead of giving an error.
I see you currently have a bitmap font, are you planning on implementing TTF font rendering or something along those lines later?
Also, I suggest you to not include binary files in your github repository (disk.hdd).
Great work, keep going :)

Thanks for your feedback!
The issue with window dragging will be fixed soon; some other WM bugfixes have been done today. The calculator issue is also fixed now; it didn't use to check for divide by zero, and so it would cause an exception and the kernel would terminate the faulting application. :)
About TTF, I would probably implement this later in userspace, but it's far down in my to-do list.
The disk image in my GitHub repository is there to be the "latest nightly build." or the binary of each commit I push because I don't really commit every night. :)

Author:  monobogdan [ Sun Jan 29, 2017 1:14 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

Looks nice :)

Is checkbox/combobox/multiline textbox controls implemented, or it's only showcase?

Author:  BrightLight [ Sun Jan 29, 2017 1:32 pm ]
Post subject:  Re: xOS v0.07 -- testing needed!

monobogdan wrote:
Looks nice :)

Is checkbox/combobox/multiline textbox controls implemented, or it's only showcase?

Thanks!
No, the only components implemented at the moment are label, button and gbutton (which is basically a button whose look can be enhanced). The text box is my next coming priority, and then the list box, as both are needed for the file manager I have in mind, and the text box is the main thing in a text editor as well. :)

Page 1 of 2 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/