Page 174 of 262

Re: What does your OS look like? (Screen Shots..)

Posted: Thu Oct 27, 2016 10:23 am
by Sik
MichaelFarthing wrote:Consider these radio buttons

Square
Rectangle
Triangle
Circle

Ticking square shuld clear triangle and circle but leave rectangle still checked.
In my apps ticking a radio sets a value and invalidates the screen.
In the succeeding draw each radio box checks its value (which it might of might not be sharing with others) to decide whether it is checked or not.
No need for any radio box to know whether the others exist or not!
This is exactly how it's working in my case.

Clicking a radio button will set a variable to its value and then cause a redraw of all widgets using that variable, then all radio buttons using that variable will automatically look checked/unchecked depending on which one has the matching value. They don't even know if they're checked, this is only done at draw time, and as far as the program is concerned, it just looks which value the variable has, not the states of the widgets.

Also for what's worth it, the widget manager doesn't even know whether it's a checkbox or a radio button or anything else. Yeah the layout passed by the program indicates the widgets directly, but after it goes through the parser that doesn't matter. The widget manager knows how it behaves (checkbox is TOGGLE, radio is SET), what variable it affects and its "ideal" value (i.e. what value the variable must have for the widget to look active), its boundaries on screen and how it looks. This means all widgets are using the same code... it seems to be making things easier in the long term. Also when a widget is triggered the loop returns back to the program (passing the ID and new value), so the program can act on it (if needed) and then return back to the loop.

For context:
  • Checkbox
    • Behavior: TOGGLE (toggles between 0 and 1)
    • Ideal value: 1
    • Inactive graphic: blank square
    • Active graphic: checked square
  • Radio button
    • Behavior: SET (sets to ideal value)
    • Ideal value: user specified
    • Inactive graphic: blank circle
    • Active graphic: checked circled
You get the idea. I don't have working buttons yet but it's not hard to guess how they're going to work. Text boxes may start needing more stuff to get going.

Re: What does your OS look like? (Screen Shots..)

Posted: Thu Oct 27, 2016 9:45 pm
by alexfru
BenLunt wrote:
alexfru wrote:
BenLunt wrote:What version of VirtualBox are you using.
¿Was that a question? :) Just updated from something old to 5.0.28 r111378.
Sorry, I sometimes forget the '?'.
alexfru wrote:I tried both. Same outcome. I can see the loader progress bar, the mode change and then nothing. If I disable hardware virtualization, however, at that point the VM throws some kind of error and I can't make much sense of the VirtualBox log. Please try the same.

It would be good to know exactly how you create your VM in VirtualBox as there are quite a few options to play with and we don't know if it's one or more of them that "break" things.
I am using version 5.0.26 r108824
System:
Motherboard:
Base Mem: 256Meg
I had something like 64MB. 256MB appears to work. More on this below.
BenLunt wrote: Boot Order: Optical (checked), Hard Drive (checked), Floppy (unchecked), Network (unchecked)
Chipset: PXII3 (Though it works with ICH9 as well)
Pointing Device: PS/2 Mouse
Extended Features: (neither of the three are checked, unless I want EFI, then of course I check "Enable EFI")
Processor:
One Processor with a 100% Execution Cap
Enable PAE/NX is not checked
Display:
Screen:
7 Meg Ram
I had 6MB here, but it doesn't seem to make any difference for me.
BenLunt wrote: 1 monitor
100% scale factor
Enable 3D acc is not checked
Remote Display and Video Capture are not enabled.
Storage:
floppy controller: I82078
IDE controller:PIIX3
For some reason it was PIIX4 here, even though the chipset itself (see the options above) was PIIX3, but it doesn't seem to make any difference for me.
BenLunt wrote: Host I/O Cache is checked
The hard drive is not a solid state drive
Audio, Network, Serial, and USB are all disabled

Please make sure you are using the floppy or hard drive image from http://www.fysnet.net/zips/fysos_efi.zip. If you are using an older one, it will not work.

Are you using EFI enabled?
Yes, this time around I used your vhd and had EFI enabled.
BenLunt wrote: If you are, and are using an older version, the kernel is still loading and working as expected, you just can't see it since it is still trying to write to screen mode 3 via 0xB8000. EFI no longer supports that screen mode. The new kernel now has everything in terminal(s), writing to a vesa compatible graphic screen.

I do not use any of the command line settings. i.e.: I do not use the command line apps that change the settings of the VM.
I didn't do anything with any command line. You mean EFI command line?
BenLunt wrote: Therefore, I am unaware of how to disable hardware virtualization as you state.
There's System->Acceleration->Hardware Virtualization. With the right amount of RAM it seems to only affect speed of execution.
BenLunt wrote: I guess I could go read up on it a bit, but this just tells you that I have not messed with it, nor have I changed that setting. I only use the available settings by clicking on the settings button...
OK, so the problem must be somewhere in your code as it appears to expect a certain minimum amount of RAM or it being available at specific physical addresses.

With 64MB it doesn't boot all the way, I get a black screen.
With 72MB it gets stuck in some ACPI code printing indefinitely lines like this:

Code: Select all

[ACPI: unknown sig: [00000000]]
With 75MB it boots all the way. But the bottom of the image of the hallway has a horizontal line of random pixels (attached).
With 94MB or more there's simply a black line instead of random pixels at the bottom of the image.

I was also suspecting VirtualBox behaving differently for me because of it doing slightly different things for the VM Type and Version settings under General.

Re: What does your OS look like? (Screen Shots..)

Posted: Fri Oct 28, 2016 12:00 am
by BenLunt
alexfru wrote:I had something like 64MB. 256MB appears to work. More on this below.
.
.
.
OK, so the problem must be somewhere in your code as it appears to expect a certain minimum amount of RAM or it being available at specific physical addresses.

With 64MB it doesn't boot all the way, I get a black screen.
With 72MB it gets stuck in some ACPI code printing indefinitely lines like this:

Code: Select all

[ACPI: unknown sig: [00000000]]
With 75MB it boots all the way. But the bottom of the image of the hallway has a horizontal line of random pixels (attached).
With 94MB or more there's simply a black line instead of random pixels at the bottom of the image.
Ah, yes. I use to require a minimum of 48Meg, but now with another couple of meg per terminal, the GUI wanting 10 to 16, the two large images it loades being another few, it now should be around 96Meg.

With memory so cheap now, I didn't even think about it. I will modify my loader file(s) to check for a minimum of, say, 128meg from now on and give an error if not enough.

Thanks for the catch. It will be an easy fix.
Ben

Re: What does your OS look like? (Screen Shots..)

Posted: Fri Oct 28, 2016 12:26 am
by alexfru
BenLunt wrote:
alexfru wrote: With 64MB it doesn't boot all the way, I get a black screen.
With 72MB it gets stuck in some ACPI code printing indefinitely lines like this:

Code: Select all

[ACPI: unknown sig: [00000000]]
With 75MB it boots all the way. But the bottom of the image of the hallway has a horizontal line of random pixels (attached).
With 94MB or more there's simply a black line instead of random pixels at the bottom of the image.
Ah, yes. I use to require a minimum of 48Meg, but now with another couple of meg per terminal, the GUI wanting 10 to 16, the two large images it loades being another few, it now should be around 96Meg.

With memory so cheap now, I didn't even think about it. I will modify my loader file(s) to check for a minimum of, say, 128meg from now on and give an error if not enough.
Why not check your NULL pointers properly and at the very least print an "out of memory" error message? Chances are you'll run into this again. :)

Re: What does your OS look like? (Screen Shots..)

Posted: Fri Oct 28, 2016 9:55 am
by BenLunt
alexfru wrote:Why not check your NULL pointers properly and at the very least print an "out of memory" error message? Chances are you'll run into this again. :)
It isn't a question of NULL pointers. My kernel uses a physical memory heap that is 50Meg in size starting at 20Meg, hence the 70Meg limit you found earlier. I (currently) check for a total of 48Meg of RAM, but since a few additions, this has moved to the 72Meg size, yet I haven't updated the check, as you found out.

With the 72Meg check in the loader, the kernel can assume all of the 50Meg heap is available. Since the check was in error and you gave the (virtual) machine only 64Meg, it was "allocating" memory past the end of physical memory.

As for the random data and/or black lines at the end of the image, this is due to my SBLK allocation and is regrettably in error due to the fact that it is a recent addition and I have not finished its function. It just didn't show since I use a 256Meg (virtual) address space.

All of my Userland memory is checked for NULL, out of memory, swapable, etc., but to speed up allocation for the kernel, only the check within the loader is done, so that no check needs to be done within the kernel.

Memory for the kernel, and only the kernel, can be allocated/maintained/freed with about 100 cpu cycles per access and all memory for the kernel is aligned on its sized boundary. For example, if I need a 2048 byte block, allocation will guarantee that is it at least aligned on a 2048 memory address. Same for a 32768 sized block, or even non-multiples of 2. For example, if I need a 12345 sized memory block, it will be guaranteed to be allocated on a 16384 byte boundary, the next 2^x up. All in about 100 cpu cycles. Extremely quick and no worries of swapping or out of memory (as soon as I fix the check in the loader :-) )

Thanks for your efforts. I will up the limit check from 48 to around 96.
Ben

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 2:18 am
by Octacone
Please keep this topic what it is. Thanks.

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 5:42 am
by Ycep
I have not posted anything there recently, so...
Tada!
Image
Everything is pretty customizable.
There are three objects: 1x struct Window, 3x struct Element, struct WinHandler(The last one is planned).
I hope that I'm not violating any Microsoft law by using this look.
This is my first real GUI.

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 5:48 am
by NunoLava1998
Lukand wrote:I have not posted anything there recently, so...
Tada!
Image
Everything is pretty customizable.
There are three objects: 1x struct Window, 3x struct Element, struct WinHandler(The last one is planned).
I hope that I'm not violating any Microsoft law by using this look.
This is my first real GUI.
Beacuse copyright laws are absurd you are infringing a lot of laws (all rights reserved? Then the letter w in Windows 98 is copyrighted!)
But those are laws that no companies or people care about, anyway.

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 7:19 am
by Kevin
NunoLava1998 wrote:Beacuse copyright laws are absurd you are infringing a lot of laws (all rights reserved? Then the letter w in Windows 98 is copyrighted!)
But those are laws that no companies or people care about, anyway.
Better stay silent on topics you know nothing about.

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 7:31 am
by Mikumiku747
Perhaps a little unorthodox for this thread, but I took a picture of my kernel running on real hardware, it's the first time I've tested it on an actual PC. The picture shows a bunch of addresses, those are the physical memory manager making sure that it initialised correctly. It displays the amount of free physical memory too (though I haven't implemented a decimal printing function yet, so for now it has to show the amount of free memory in hex).

Image

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 7:33 am
by NunoLava1998
Mikumiku747 wrote:Perhaps a little unorthodox for this thread, but I took a picture of my kernel running on real hardware, it's the first time I've tested it on an actual PC. The picture shows a bunch of addresses, those are the physical memory manager making sure that it initialised correctly. It displays the amount of free physical memory too (though I haven't implemented a decimal printing function yet, so for now it has to show the amount of free memory in hex).

snippy snip
That picture is so small

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 7:40 am
by Mikumiku747
Yeah, that came out way larger than I expected. I cropped it now. :)

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 8:12 am
by Octacone
Lukand wrote:I have not posted anything there recently, so...
Tada!
Image
Everything is pretty customizable.
There are three objects: 1x struct Window, 3x struct Element, struct WinHandler(The last one is planned).
I hope that I'm not violating any Microsoft law by using this look.
This is my first real GUI.
That is just awesome, as long as you don't use any Microsoft owned brands it should be okay (I think). Are those windows movable? Great job.

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 8:15 am
by Octacone
Mikumiku747 wrote:Perhaps a little unorthodox for this thread, but I took a picture of my kernel running on real hardware, it's the first time I've tested it on an actual PC. The picture shows a bunch of addresses, those are the physical memory manager making sure that it initialised correctly. It displays the amount of free physical memory too (though I haven't implemented a decimal printing function yet, so for now it has to show the amount of free memory in hex).

Image
That sounds rather...a wild scream appears...I can't get my OS to boot off an USB. How did you mange to burn it onto a medium?

Re: What does your OS look like? (Screen Shots..)

Posted: Sat Oct 29, 2016 8:31 am
by matt11235
octacone wrote:
Mikumiku747 wrote:Perhaps a little unorthodox for this thread, but I took a picture of my kernel running on real hardware, it's the first time I've tested it on an actual PC. The picture shows a bunch of addresses, those are the physical memory manager making sure that it initialised correctly. It displays the amount of free physical memory too (though I haven't implemented a decimal printing function yet, so for now it has to show the amount of free memory in hex).

Image
That sounds rather...a wild scream appears...I can't get my OS to boot off an USB. How did you mange to burn it onto a medium?
Use dd or win32diskimager on Windows.