flat assembler
Message board for the users of flat assembler.

Index > OS Construction > What would be the best way to make a gui for my operating

Author
Thread Post new topic Reply to topic
gamemaker825



Joined: 08 Apr 2012
Posts: 7
gamemaker825
What would be the best way to make a gui for my operating system, i made a dos operating system and i need some guidance for to make a gui with just pictures for right now and be able to select them.

thanks for your help and posting
Post 23 Jun 2012, 14:27
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
gamemaker825 wrote:
What would be the best way to make a gui for my operating system, i made a dos operating system and i need some guidance for to make a gui with just pictures for right now and be able to select them.

thanks for your help and posting


What screen res do you want your GUI to be able to use ?
As this is important as which method you use.
As Dos is real mode, which is limiting.
Post 23 Jun 2012, 14:53
View user's profile Send private message Reply with quote
gamemaker825



Joined: 08 Apr 2012
Posts: 7
gamemaker825
Hi, thanks for the replay, i would like it to be 16 bit or 8 bit, i dont realy need it to be any higher, if you think 16bit is to high then what do you suggest, im runing windows 98 so it uses 16 bit so i thanks that would be good as i dont have a very good video card in that system anywas.
Post 23 Jun 2012, 16:17
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
i think the resolution and color depth is not something to take as a specialisation when doing OS gui.

remember an os is to be executed on various hardware configurations, then, it would be better to use a sort of putPixel() routine, and this routine use a screen structure to tell what is currently the screen.

imagine, you want to do a virtual gui as just a picture, you should be able to support resolution like 2342*43 43bpp, or 300*543 12bpp, then, using a screen structure, and a putpixel, any graphic application will be able to print in any resolution.
Post 23 Jun 2012, 20:02
View user's profile Send private message Visit poster's website Reply with quote
gamemaker825



Joined: 08 Apr 2012
Posts: 7
gamemaker825
Hi, i found an open source gui for dos and i was wandering if i go to my dos operating system if i can open it or not i have the source , and my dos operating system superts exe file, or can you show me how i can conect my dos operating system with this c++ Gui thats like windows ,here is the source code to that gui i found on planet source code. thanks for your reply.


Description:
Download
Filename: DOS-GUI156883442003.zip
Filesize: 9.14 KB
Downloaded: 143 Time(s)

Post 23 Jun 2012, 21:16
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
if you want ot do assembly code, i invite you to directlly ttry the GUI os that are made here like dexos and menuet os.
i have also a project named fool that is originaly a lib for graphical programming using trees, and that is slowly becoming an os.
Post 23 Jun 2012, 22:00
View user's profile Send private message Visit poster's website Reply with quote
gamemaker825



Joined: 08 Apr 2012
Posts: 7
gamemaker825
Ya can you help me with that. i would appreciate if you would thanks
Post 23 Jun 2012, 22:42
View user's profile Send private message Reply with quote
mindcooler



Joined: 01 Dec 2009
Posts: 423
Location: Västerås, Sweden
mindcooler
http://cgui.sourceforge.net/

Made by an ex teacher at my school Smile

_________________
This is a block of text that can be added to posts you make.
Post 24 Jun 2012, 16:25
View user's profile Send private message Visit poster's website MSN Messenger ICQ Number Reply with quote
freecrac



Joined: 19 Oct 2011
Posts: 117
Location: Germany Hamburg
freecrac
gamemaker825 wrote:
Hi, thanks for the replay, i would like it to be 16 bit or 8 bit, i dont realy need it to be any higher, if you think 16bit is to high then what do you suggest, im runing windows 98 so it uses 16 bit so i thanks that would be good as i dont have a very good video card in that system anywas.

But many pictures are made with 24/32 bit per pixel.

I prefer a screensize of 1920x1200 to fit the native resolution of my 28" LCD and i prefer 32 bpp, because we can´t set 24 bit with a single write acess, like using 32 bpp. For to switch in those high resoluition i use the VBE3-bios of my colofull GTX 295 nvidia card that provide also those widescreen modes (16:9, 16:10). (-> vbe3.pdf)

For to acess the LFB i use the 16 Bit-Unrealmode. The 16 Bit-Unrealmode is fully compatible with the most PCs using 80386+ for Realmode-DOS + -BIOS functions. I never found a x86-CPU from Intel or AMD that set the limit of the segmentsize back to 64 KB inside of the hidden descriptor cache, if we switch back to the RM. Tested on Intel 80386, 80486, Pentium 1,2,3,4, Core2, AMD K5, K6, k7... all that CPUs must have those "bug".
(But i don´t believe this statement of Intel about those 64 KB limitation).

Only some rare PCI-cards from Intel are not compatible with the 16 Bit-Unrealmode.

Dirk
Post 25 Jun 2012, 09:40
View user's profile Send private message Send e-mail Reply with quote
gamemaker825



Joined: 08 Apr 2012
Posts: 7
gamemaker825
Hi, mindcooler, Could you tell me how to build your teachers gui and how i can connect it to my bootloader and kernal., sorry im not that good at C thanks for the post everyone. thanks Very Happy
Post 25 Jun 2012, 23:22
View user's profile Send private message Reply with quote
mindcooler



Joined: 01 Dec 2009
Posts: 423
Location: Västerås, Sweden
mindcooler
I'm afraid that's beyond my knowledge of the library, I've never used it myself. But as there are reputable organizations using it, I thought could be a good alternative to diy.
Post 26 Jun 2012, 02:17
View user's profile Send private message Visit poster's website MSN Messenger ICQ Number Reply with quote
gamemaker825



Joined: 08 Apr 2012
Posts: 7
gamemaker825
or ok thanks
Post 26 Jun 2012, 02:18
View user's profile Send private message Reply with quote
freecrac



Joined: 19 Oct 2011
Posts: 117
Location: Germany Hamburg
freecrac
Most of the modern videocards provide a VBE3-Bios.
We can try to check our video card and monitor...step by step.

Fist step:
With Funktion 4F00h of the VESA-Bios we can get the VBE controller information into a buffer of 256 (vbe3: 512) bytes.
(if no error occur) Inside of this buffer we can find the version number of our vesa bios.
Beginning with VBE2 we have to use the mode numbers that comes with our bios.
If we found a VBE 2 or 3 bios, then we can find inside of the buffer a far pointer(offset, segment) to the Video Mode List.
With this pointer we can get all mode numbers(words). The list ends with 0FFFFh.

With the mode numbers we can get their specific exended mode information with Function 4F01h into another buffer of 256 byte.
Inside of this buffer we can find the mode attributes, X and Y resolution, bytes per scan line, bits per pixel, physical address for flat memory frame buffer, maximum pixel clock.

Second step:
With Function 4F15h(BL=0) we can check if we can get some DDC information from our monitor, If it possible, then we can read the EDID into a buffer of 128 bytes (EDID version 1 structure).
Inside of the EDID-buffer we can find information about the capacity of the monitor for the maximal khz and hz and the preferred timing mode.

Third step:
Set a vesamode maybe with a higher refreshrate than 60hz using own CRT-parameter, but inside of the capacity of the monitor.
Load a desktop picture in the ram and write the colors of the picture to the framebuffer.

Subroutines maybe for to open a startmenu if our mouse pointer is nearby, or to open a window if we leftclick the mousebutton.....

vbe3.pdf
EEDIDguideV1.pdf
http://www.vesa.org/
(need register/login; all public documents are cost free;)

RBIL:
http://www.pobox.com/~ralf
http://www.pobox.com/~ralf/files.html
ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/

Dirk
Post 26 Jun 2012, 22:05
View user's profile Send private message Send e-mail Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.