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 |
|
Dex4u 23 Jun 2012, 14:53
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. 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. |
|||
23 Jun 2012, 14:53 |
|
gamemaker825 23 Jun 2012, 16:17
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.
|
|||
23 Jun 2012, 16:17 |
|
edfed 23 Jun 2012, 20:02
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. |
|||
23 Jun 2012, 20:02 |
|
gamemaker825 23 Jun 2012, 21:16
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.
|
|||||||||||
23 Jun 2012, 21:16 |
|
edfed 23 Jun 2012, 22:00
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. |
|||
23 Jun 2012, 22:00 |
|
gamemaker825 23 Jun 2012, 22:42
Ya can you help me with that. i would appreciate if you would thanks
|
|||
23 Jun 2012, 22:42 |
|
mindcooler 24 Jun 2012, 16:25
_________________ This is a block of text that can be added to posts you make. |
|||
24 Jun 2012, 16:25 |
|
freecrac 25 Jun 2012, 09:40
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 |
|||
25 Jun 2012, 09:40 |
|
gamemaker825 25 Jun 2012, 23:22
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
|
|||
25 Jun 2012, 23:22 |
|
mindcooler 26 Jun 2012, 02:17
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.
|
|||
26 Jun 2012, 02:17 |
|
gamemaker825 26 Jun 2012, 02:18
or ok thanks
|
|||
26 Jun 2012, 02:18 |
|
freecrac 26 Jun 2012, 22:05
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 |
|||
26 Jun 2012, 22:05 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.