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

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
Octacone
Member
Member
Posts: 1138
Joined: Fri Aug 07, 2015 6:13 am

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

Post by Octacone »

After 18 hours of work, after 1746 lines of code, my BIOS font is finally finished. I ported everything I needed, also modified some symbols to make them look better. Now I have a nice and solid font base to build my high resolution graphical terminal on top of.

Here it is (sorry for posting high resolution photos, but wanted to show how big my terminal actually is):
BIOSFontFinished.png
BIOSFontFinished.png (7.57 KiB) Viewed 4126 times
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

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

Post by BrightLight »

octacone wrote:After 18 hours of work, after 1746 lines of code, my BIOS font is finally finished.
I should've seen this earlier; I have the entire BIOS font in bitmap format.
What do you mean your BIOS font is finished? Don't you save the bitmap font stored in the VGA and then write a bitmap parser?
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Octacone
Member
Member
Posts: 1138
Joined: Fri Aug 07, 2015 6:13 am

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

Post by Octacone »

omarrx024 wrote:
octacone wrote:After 18 hours of work, after 1746 lines of code, my BIOS font is finally finished.
I should've seen this earlier; I have the entire BIOS font in bitmap format.
What do you mean your BIOS font is finished? Don't you save the bitmap font stored in the VGA and then write a bitmap parser?
Okay yeah. I made a function that displays bitmap arrays. Every single character is a different array filled with zeros and ones. I made an array for each single character I needed. The font I am using is just a standard BIOS font I made into arrays with some minor symbol modifications. I think it looks good, now I just need to write an advanced terminal that will use those characters I ported. My shell is going to be anywhere from 1360x768x32 to 1920x1080x32 and will have many features. ;)
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
User avatar
DeezRamChips
Member
Member
Posts: 132
Joined: Fri Apr 08, 2016 5:03 am
Location: atapio.cpp - why won't you work :(
Contact:

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

Post by DeezRamChips »

You know I implemented fonts (multiple one, just change a variable) in an houre and +- 20 lines of code xD
User avatar
DeezRamChips
Member
Member
Posts: 132
Joined: Fri Apr 08, 2016 5:03 am
Location: atapio.cpp - why won't you work :(
Contact:

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

Post by DeezRamChips »

You should Have used bitmap fonts as I did, because they are way more versatile. You can have multiple ones, multiple sizes...
User avatar
DeezRamChips
Member
Member
Posts: 132
Joined: Fri Apr 08, 2016 5:03 am
Location: atapio.cpp - why won't you work :(
Contact:

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

Post by DeezRamChips »

Here you go ^_^:

Code: Select all

void drawMonoBitmap(int x, int y, int w, int h, char bitmap[]){
	int i = 0;
	for (int yy = 0; yy < h; yy++){
		for (int xx = 0; xx < w; xx++){
			unsigned where = (x + xx)*(fb_width/fb_xres) + (y + yy)*fb_width;
			vram[where + 0] = bitmap[i];     // BLUE
			vram[where + 1] = bitmap[i];     // GREEN
			vram[where + 2] = bitmap[i];     // RED
			i++;
		}
	}
}

void putCar(int x, int y, char caracter, char font[],char r,char g,char b){
	int location = caracter * 8;
	for (int yy = 0; yy < 8; yy++){
		for (int xx = 0; xx < 8; xx++){
			char pixel = font[location + (yy * 2048) + xx];
			unsigned where = (x + xx)*(fb_width/fb_xres) + (y + yy)*fb_width;
			if (pixel == 0){
				// No pixel !
			}
			else{
				vram[where + 0] = b;     // BLUE
				vram[where + 1] = g;     // GREEN
				vram[where + 2] = r;     // RED
			}
		}
	}
}

void drawString(int x, int y, string caracters, char font[],char r,char g,char b){
	int lng = strlen(caracters);
	for (int i = 0; i < lng; i++){
		putCar(x + (i * 8), y, caracters[i],font,r,g,b);
	}
}
void drawStringCenterd(int y, string caracters, char font[],char r,char g,char b){
	int lng = strlen(caracters);
	int x = (fb_xres / 2) - (lng * 8) / 2;
	for (int i = 0; i < lng; i++){
		putCar(x + (i * 8), y, caracters[i],font,r,g,b);
	}
}
User avatar
DeezRamChips
Member
Member
Posts: 132
Joined: Fri Apr 08, 2016 5:03 am
Location: atapio.cpp - why won't you work :(
Contact:

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

Post by DeezRamChips »

it even support gray scale (and will support transparency in the future ^^)
User avatar
Octacone
Member
Member
Posts: 1138
Joined: Fri Aug 07, 2015 6:13 am

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

Post by Octacone »

@DeezRamChips
Please read my post entirely. I do have a system for drawing bitmaps. See my screenshot.
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
User avatar
DeezRamChips
Member
Member
Posts: 132
Joined: Fri Apr 08, 2016 5:03 am
Location: atapio.cpp - why won't you work :(
Contact:

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

Post by DeezRamChips »

Oh, I though you ment Bitmap images xD
User avatar
Octacone
Member
Member
Posts: 1138
Joined: Fri Aug 07, 2015 6:13 am

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

Post by Octacone »

DeezRamChips wrote:Oh, I though you ment Bitmap images xD
lol :?
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
User avatar
Alexis211
Posts: 14
Joined: Mon Sep 14, 2009 9:19 am
Libera.chat IRC: lxpz
Location: France
Contact:

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

Post by Alexis211 »

pdurlej wrote:This thread has gone off-topic a bit, here is another screenshot:

Image
Love your work!! Any thoughts about releasing the source code?
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

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

Post by BrightLight »

octacone wrote:My shell is going to be anywhere from 1360x768x32 to 1920x1080x32 and will have many features. ;)
Your shell should be resolution independent, and someday, you'd like to use EDID to use the preferred video mode by the monitor. For example, my two test PCs are optimized for 1024x768, while my laptop is optimized for 1366x768, and a small netbook I have is optimized for 1024x600.
If you want to stick to one specific resolution that should be present everywhere, your real choices are only 640x480 and 800x600, which are quite little for 2016. ;)
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Octacone
Member
Member
Posts: 1138
Joined: Fri Aug 07, 2015 6:13 am

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

Post by Octacone »

omarrx024 wrote:
octacone wrote:My shell is going to be anywhere from 1360x768x32 to 1920x1080x32 and will have many features. ;)
Your shell should be resolution independent, and someday, you'd like to use EDID to use the preferred video mode by the monitor. For example, my two test PCs are optimized for 1024x768, while my laptop is optimized for 1366x768, and a small netbook I have is optimized for 1024x600.
If you want to stick to one specific resolution that should be present everywhere, your real choices are only 640x480 and 800x600, which are quite little for 2016. ;)
Well my goal it to make my master console as high resolution as possible. There are two modes: windowed/compositing mode and full screen mode. For my full screen mode I don't care about supported hardware or anything like that. I am going to make it 16:9 only, no other aspect ratios supported. I am not going to support any old hardware. I want my OS to be as futuristic as possible, getting rid of every non 2016 stuff. Resolutions are getting bigger and bigger: HD, Full HD, 2K, 4K, 8K. My OS is meant for newer hardware with some decent specs. If you have a 2002 laptop then this OS is not for you. I think that people over here should make their operating systems with 2016 standards in mind. ;)
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

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

Post by BrightLight »

octacone wrote:Well my goal it to make my master console as high resolution as possible. There are two modes: windowed/compositing mode and full screen mode. For my full screen mode I don't care about supported hardware or anything like that. I am going to make it 16:9 only, no other aspect ratios supported. I am not going to support any old hardware. I want my OS to be as futuristic as possible, getting rid of every non 2016 stuff. Resolutions are getting bigger and bigger: HD, Full HD, 2K, 4K, 8K. My OS is meant for newer hardware with some decent specs. If you have a 2002 laptop then this OS is not for you. I think that people over here should make their operating systems with 2016 standards in mind. ;)
Then why don't you use 64-bit long mode? SSE? AVX? SMP? Hyperthreading? HPET? AHCI? NVMe?
Goals should always start small; otherwise you will always be disappointed.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

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

Post by Roman »

Have to agree with Omar.

> as futuristic as possible
> using BIOS
=D>
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
Post Reply