What does your OS look like? (Screen Shots..)
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: What does your OS look like? (Screen Shots..)
@Bluemoon: Looks very nice :O
--Congrats
gravaera
--Congrats
gravaera
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Re: What does your OS look like? (Screen Shots..)
to bluemoon
> bga
looks like you've wanted to say "VGA".
> bga
looks like you've wanted to say "VGA".
Re: What does your OS look like? (Screen Shots..)
No, he means the Bochs Graphics AdapterNable wrote:to bluemoon
> bga
looks like you've wanted to say "VGA".
Re: What does your OS look like? (Screen Shots..)
no it's bga, bochs display driver.
- AndrewAPrice
- Member
- Posts: 2298
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: What does your OS look like? (Screen Shots..)
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).
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).
My OS is Perception.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: What does your OS look like? (Screen Shots..)
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..)
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 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..)
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..)
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. 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:
Hope you like it. 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:
Re: What does your OS look like? (Screen Shots..)
Looks good turdus. Do you have a website ?
If a trainstation is where trains stop, what is a workstation ?
Re: What does your OS look like? (Screen Shots..)
Wow, thats awesome for text mode!
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-@$$!
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.
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-@$$!
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..)
Yes, but it's not public ready.gerryg400 wrote:Looks good turdus. Do you have a website ?
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..)
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: 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:
If you want to test the VESA LFB driver, type:
Note that HWDIAG is just a stub for now.
Testing EFI Loader
First you have to convert dd image to 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: 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.
This build was compiled for:
- x86_64
- IOAPIC, LAPIC, RTC
- syscall instruction interface
- core debugger included
Here's my bochs 2.5.1 rc: 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
Code: Select all
BOOT-SH> VIDEO
BOOT-SH> SET GUI 1
BOOT-SH> CONTINUE
Testing EFI Loader
First you have to convert dd image to vdi:
Code: Select all
VBoxManage convertfromraw image.dsk image.vdi
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: 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.
- AndrewAPrice
- Member
- Posts: 2298
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: What does your OS look like? (Screen Shots..)
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.bubach wrote:Wow, thats awesome for text mode!
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-@$$!
Anyway, great work turdus!
My OS is Perception.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: What does your OS look like? (Screen Shots..)
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.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.
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.