flat assembler
Message board for the users of flat assembler.

Index > OS Construction > What are the ways to create GUI

Goto page Previous  1, 2, 3
Author
Thread Post new topic Reply to topic
Rusik



Joined: 09 Apr 2012
Posts: 21
Location: Ukraine, Kyiv
Rusik 21 May 2012, 20:41
edfed wrote:
when the screen is smaller than the graphics card resolution, the screen becomes a window, and you can scroll on the full resolution using this window.

It`s mean that scroll appears like in text editors?
Post 21 May 2012, 20:41
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4336
Location: Now
edfed 21 May 2012, 21:15
no, i think the scrool is more like hardware, and controlled by some driver more or less linked to the mouse cursor.

this feature exists on windows and linux. maybe it is a hardware thing, maybe not...
Post 21 May 2012, 21:15
View user's profile Send private message Visit poster's website Reply with quote
freecrac



Joined: 19 Oct 2011
Posts: 117
Location: Germany Hamburg
freecrac 22 May 2012, 12:11
vbe3.pdf
Quote:

Function 07h - Set/Get Display Start
Input: AX = 4F07h VBE Set/Get Display Start Control
(16-bit) BH = 00h Reserved and must be 00h
BL = 00h Set Display Start
= 01h Get Display Start
= 02h Schedule Display Start (Alternate)
= 03h Schedule Stereoscopic Display Start
= 04h Get Scheduled Display Start Status
= 05h Enable Stereoscopic Mode
= 06h Disable Stereoscopic Mode
= 80h Set Display Start during Vertical Retrace
= 82h Set Display Start during Vertical Retrace (Alternate)
= 83h Set Stereoscopic Display Start during Vertical Retrace
ECX = If BL=02h/82h Display Start Address in bytes
If BL=03h/83h Left Image Start Address in bytes
EDX = If BL=03h/83h Right Image Start Address in bytes
CX = If BL=00h/80h First Displayed Pixel In Scan Line
DX = If BL=00h/80h First Displayed Scan Line
Output: AX = VBE Return Status
BH = If BL=01h Reserved and will be 0
CX = If BL=01h First Displayed Pixel In Scan Line
If BL=04h 0 if flip has not occurred, not 0 if it has
DX = If BL=01h First Displayed Scan Line
Input: BH = 00h Reserved and must be 00h
(32-bit) BL = 00h Set Display Start
= 80h Set Display Start during Vertical Retrace
CX = Bits 0-15 of display start address
DX = Bits 16-31 of display start address
ES = Selector for memory mapped registers

This required function selects the pixel to be displayed in the upper left corner of the display.
This function can be used to pan and scroll around logical screens that are larger than the displayed screen.

Dirk
Post 22 May 2012, 12:11
View user's profile Send private message Send e-mail Reply with quote
Rusik



Joined: 09 Apr 2012
Posts: 21
Location: Ukraine, Kyiv
Rusik 22 May 2012, 13:52
Just tested a Dex4u sample with VESA 1600x1200 resolution (resolution of my monitor 1600x900). I programmed withdrawal of only one black pixel on a white background but still attended the effect of interpolation. Scroll does not appear.

So, as I understand interpolation will be applied in any case, if the logical screen has higher resolution than the monitor or lower resolution than the monitor. It is sad but it turns out that using VESA we can not set really HD interface like in Windows or Linux Crying or Very sad


Description:
Download
Filename: interface.asm
Filesize: 4.27 KB
Downloaded: 356 Time(s)

Post 22 May 2012, 13:52
View user's profile Send private message Reply with quote
freecrac



Joined: 19 Oct 2011
Posts: 117
Location: Germany Hamburg
freecrac 29 Jun 2012, 11:00
Rusik wrote:
... but VESA does not support modes what are not defined by this standard. :(

vbe3.pdf
Quote:

Starting with VBE version 2.0, VESA will no longer define new VESA mode numbers and it will no longer be mandatory to support these old mode numbers.

In other words these standard modes are only defined for VBE versions up to 1.2:
Quote:

100h - 640x400 256 108h - 80 60
101h - 640x480 256 109h - 132 25
102h 6Ah 800x600 16 10Ah - 132 43
103h - 800x600 256 10Bh - 132 50
104h - 1024x768 16 10Ch - 132 60
105h - 1024x768 256
106h - 1280x1024 16
107h - 1280x1024 256
10Dh - 320x200 32K (1:5:5:5)
10Eh - 320x200 64K (5:6:5)
10Fh - 320x200 16.8M (8:8:8)
110h - 640x480 32K (1:5:5:5)
111h - 640x480 64K (5:6:5)
112h - 640x480 16.8M (8:8:8)
113h - 800x600 32K (1:5:5:5)
114h - 800x600 64K (5:6:5)
115h - 800x600 16.8M (8:8:8)
116h - 1024x768 32K (1:5:5:5)
117h - 1024x768 64K (5:6:5)
118h - 1024x768 16.8M (8:8:8)
119h - 1280x1024 32K (1:5:5:5)
11Ah - 1280x1024 64K (5:6:5)
11Bh - 1280x1024 16.8M (8:8:8)

Quote:
OEM's (videocard manufacturer) who wish to add new VBE mode numbers to their implementations, must make sure that all new modes are defined with mode numbers above 0x100, However, it is highly recommended that BIOS implementations continue to support these mode numbers for compatibility with older software and add new mode numbers after the last VESA defined mode number.

Quote:
It would be nice if it was possible to use any modes with any resolution using LFB or something else for example...

Yes, it would be nice and i can not understand the matter for to hide those informations to set up every possible videomode and resolution with a port access.
So i don´t know how we can show the content of the secondary framebuffer on the secondary display device that pluged in one videocard.
(The linear address of the secondary framebuffer can be found in the properties of the videocard in the windows device manager.)
If i set a vesamode, then the secondary monitor shows also the content of the primary framebuffer and both devices will be cloned.

Quote:
So, if I have a monitor with 1600x900 resolution, what mode from the list available to be most optimal for me? That's what I would like to know.

And more, maybe it's not this topic, but what about the Menuet64. From the above I assume that this OS has a 64-bit kernel but uses 16 or 32-bits VESA interface, constantly switching in (un)real mode(if it works in Protected Mode of course).

I am not familar with the 64 bit mode, but i think it isn´t possible to use a 16 bit code within the 64 bit-Mode and the v86-mode is only possible with the 16/32 bit PM.

Dirk
Post 29 Jun 2012, 11:00
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:  
Goto page Previous  1, 2, 3

< 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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.