Page 81 of 262

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

Posted: Mon Apr 30, 2012 12:14 pm
by gravaera
@Bluemoon: Looks very nice :O

--Congrats
gravaera

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

Posted: Mon Apr 30, 2012 12:30 pm
by Nable
to bluemoon
> bga
looks like you've wanted to say "VGA".

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

Posted: Mon Apr 30, 2012 12:33 pm
by ATXcs1372
Nable wrote:to bluemoon
> bga
looks like you've wanted to say "VGA".
No, he means the Bochs Graphics Adapter

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

Posted: Mon Apr 30, 2012 12:34 pm
by bluemoon
no it's bga, bochs display driver.

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

Posted: Mon Apr 30, 2012 12:35 pm
by AndrewAPrice
Great work Bluemoon!

It's interesting to see what other people's operating systems look like. I'm particularly interested in non-WIMP GUIs (single- and multi-tasking).

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

Posted: Mon Apr 30, 2012 10:49 pm
by Kazinsal
Image

Not a whole lot to look at. It does a couple neat things (test.uvx is a program I use as a sandbox for testing things outside of the kernel -- current version of it detects C&T and Cirrus Logic cards and dumps information on them, Cirrus only dumps numbers), though. At some point I'm going to release version 0.2. Hopefully.

EDIT: I'll ninja in a screenshot of Bochs when I finish the Cirrus detection.

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

Posted: Fri May 04, 2012 11:44 am
by bluemoon
Finally I can compile simple C program and run on my OS. Although I have previously done this on 32-bit OS, 64-bit introduces some surprise to me :P It's not something straight-forward. It also take some tweaks for using syscall since it will not do stack-switch(and rsp remains in user-space), which has caused trouble for sleep() and exit() call, but they are resolved now.

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

Posted: Fri May 04, 2012 8:58 pm
by klange
Image

Successfully natively linked a binary. My standard C runtime and an ELF object file with main() { return 42; }, mashed together to create a working binary!

It would seem that my write support is... a bit broken. I had to create a padding file to write to, because my block allocator is borked (or I'm writing out of bounds of allocated blocks). The linking process was rather ugly as well, the large blob of text at the top being userspace debug output from my hacked up `ld`; I think my C library's memory allocator is broken as well (despite three years of testing...)

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

Posted: Sat May 05, 2012 6:59 am
by turdus
Well, I do not have GUI yet as many of you guys. But I think I've made out what's possible from text mode.
Hope you like it.
windowed desktop
windowed desktop
The upper status bar is not ready yet, only the clock works.
The two icons on the bottom are applications (not working yet) and very low load indicator.
You can resize and move windows, you can change focus, and you also have a pixel granularity pointer.

There's still much left to do, but I hope it will be beta release ready soon. In the meantime, here are behind-the-stage screenshots:
details of text user interface server
details of text user interface server
memory usage
memory usage

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

Posted: Sat May 05, 2012 7:03 am
by gerryg400
Looks good turdus. Do you have a website ?

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

Posted: Sat May 05, 2012 7:10 am
by bubach
Wow, thats awesome for text mode! =D>
The amount of time you must have put in just to get "transparent" windows, and redoing the font to get "graphic" details out of it, and the palette manipulations. Just pure kick-@$$! :D

Have you thought about mode 12h for some more details? should be less complex than VESA but give you more options than pure text mode. Anyway, great work.

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

Posted: Sat May 05, 2012 7:13 am
by turdus
gerryg400 wrote:Looks good turdus. Do you have a website ?
Yes, but it's not public ready.
The documentation is not up-to-date and inconsistent, and the downloadable images are broken now (I'm in the middle of rewriting the quick-and-dirty fs server implementation, that affects almost everything.)

@bubach: thanks. I'm not planning to use any other vga mode, because I have a working VESA LFB support. You can choose video mode at boot shell, but no server is listening to handle requests yet.

It was not hard to create the "transparent" windows (little bit magic on attribs), but I had to rewrite to use double buffering for speed, that was time consuming.

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

Posted: Sat May 05, 2012 11:09 am
by turdus
OK guys. I've cleared the source a little bit and build an image to play with. Only an FS stub, and shell just blindly echoes keys back. But user interface works at least.
This build was compiled for:
- x86_64
- IOAPIC, LAPIC, RTC
- syscall instruction interface
- core debugger included

Here's my bochs 2.5.1 rc:
bochsrc.txt
(1.8 KiB) Downloaded 87 times
You should update the path of disk image in it to whatever location you download this file:
87.229.7.84/os3d.base.x86_64-latest.dsk
Note that all zeroes at the end were chopped off to save network, so bochs may complain about CHS geometry, don't care.
This image can be dd-ed to any usb storage. It has a Hybrid GPT scheme.

Testing standup
You can enter boot shell by pressing and holding Control during POST. There type:

Code: Select all

BOOT-SH> HELP
If you want to test the VESA LFB driver, type:

Code: Select all

BOOT-SH> VIDEO
BOOT-SH> SET GUI 1
BOOT-SH> CONTINUE
Note that HWDIAG is just a stub for now.

Testing EFI Loader
First you have to convert dd image to vdi:

Code: Select all

VBoxManage convertfromraw image.dsk image.vdi
Next start VirtualBox and enable EFI on System settings window. Note that this is experimental, loader only says hello, waits for a key press and returns to EFI menu.
I've noticed that VirtualBox is not able to run my OS when loaded by BIOS. On 32 bit windows host it restarts the entire machine, under Mac and Linux the vm goes to guru meditation due to misaligned stack (IRQ handler pops 32 bit value from a 64 bit stack). But it's good for testing the EFI support.

Testing user interface
I've compiled in debug output for key events. You can see the name of the key pressed along with flags. Pointer also works, although it's events are not forwarded to the application.
Normal keys are translated to ansi escape sequences and echoed back to server. A few useful shortcuts:
Alt+Enter: switch fullscreen/window mode
Alt+arrows: move window
Ctrl+arrows: resize window
Alt+T: open new terminal window
Ctrl+Tab: switch to next window
Ctrl+Alt+Del: stop self conscious AI in taking over the world
Ctrl+Alt+Esc: invoke built-in debugger
The debugger has many shortcuts of it's own, press F1 for help. In advance:
help.png
If you want to peek on other available keys, invoke debugger, press F4, go to /etc/kbd/en_us.
You can switch address space by selecting a task from F8 or F9, and pressing TAB. Afterwards, viewer and disassembler will operate on new thread.

Also note that this version is not recommended for testing on real hardware, although I regularly run tests, I haven't tested this version. It's not a stable version either, random crashes could happen, but all should be captured by debugger.

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

Posted: Sat May 05, 2012 4:18 pm
by AndrewAPrice
bubach wrote:Wow, thats awesome for text mode! =D>
The amount of time you must have put in just to get "transparent" windows, and redoing the font to get "graphic" details out of it, and the palette manipulations. Just pure kick-@$$! :D
I've always wondered if you could modify the font during the horizontal refresh, and effectively get per pixel control over the screen in text mode.

Anyway, great work turdus!

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

Posted: Sun May 06, 2012 3:43 am
by Combuster
I've always wondered if you could modify the font during the horizontal refresh, and effectively get per pixel control over the screen in text mode.
Well, you'd end up wasting most of your CPU time keeping in sync with the VGA. Plus that colours still fix themselves in character blocks so you'd need to take care of that as well. On an ISA device that means needing >50% of the bus bandwidth for the bitbanging alone, and then there's the port I/O needed.

Closest sensible solution I can think of is to switch the font bank 8 times per frame. It's still going to be a pain though.