Questions tagged [vesa]

VESA is intended for questions related to programmatic access to video card BIOS settings.

VESA (Video Electronic Standard Association) defines a set of technical standards related to video displays, such as for example video modes defining resolution and colors.

References

55 questions
9
votes
1 answer

Set video mode to 1920x1080 (HD) or higher in kernel ASM (NASM assembler)

I would like to set the video mode in a ASM kernel I'm working on to a video mode 1920x1080 or higher (or at least higher than the usual limit in VESA). Is there anyway to do that, and if so, provide sample code? I'm using NASM to code the kernel.
user237286
  • 91
  • 2
5
votes
1 answer

How can I read the VESA/VideoBIOS "Mode Removal Table"?

Many sites and articles on getting widescreen monitors to work on notebooks in their native resolution mention something called the "Mode Removal Table" in the Video BIOS which specifically prevents certain video…
hippietrail
  • 15,848
  • 18
  • 99
  • 158
3
votes
1 answer

Getting VESA video information with Digital Mars compiler, which doesn't support GNU C packed structs

I'm trying to add VESA video card detection to my system information program and can't seem to even put together code that works. I've looked at this thread: How to get VESA BIOS Information and this page on OSDev:…
Charlie Dobson
  • 193
  • 1
  • 11
3
votes
1 answer

VBE: why does my code not provide a linear frame buffer?

I am a beginner who is trying to implement simple graphics in VBE. I have written the following assembly code to boot, enter 32-bit protected mode, and enter VBE mode 0x4117. (I was told that the output of [mode] OR 0x4000 would produce a version of…
3
votes
1 answer

VESA mode, OSDEV

I am currently writing an OS from complete scratch(making my own bootloader etc), and I am attempting to adapt VESA mode. I have read documentation, it all makes sense..all but just a few things. This is directly from the documentation(I have it…
3
votes
0 answers

How to make a VESA linear frame buffer in real mode to use it after in protected mode?

I want to create a small operating system, but in 32-bit mode with graphics with the full resolution of my screen (1366x768) and 24 bpp. For now, my code in nasm assembly calls the 0x4F02 VESA function in real mode with the value of 0xC118 (the…
Bolgeg
  • 41
  • 5
3
votes
0 answers

Change VESA BasePtr to implement double buffering in x86_64 asm?

I would like to improve the performance of my graphics code by implementing a better kind of double buffering for VESA video memory. Background: I wrote a simple Game of Life implementation in x86_64, nasm. It boots in QEMU, switches to 64bit and…
Paweł Pela
  • 421
  • 3
  • 16
3
votes
1 answer

Is it possible to detect whether a monitor attached to a Windows PC is actively displaying a certain input?

I'm developing a Windows application that supports remote displays through VNC. Normally the remote displays will be the only visual interface. However, there will be cases where a user will want to view the application with a physical monitor. If a…
dcharles
  • 4,822
  • 2
  • 32
  • 29
3
votes
1 answer

Change Linux framebuffer background color

My question is about the linux kernel. When framebuffer device initializes (I guess it is vesafb), the screen is filled with black color. How can I change that color? What file should I edit? I guess it is something in drivers/video/. I only know…
tpimh
  • 446
  • 2
  • 9
  • 23
2
votes
0 answers

VESA BIOS Extensions: How to Change Resolution?

I just finished writing a small boot loader and kernel that switches into protected mode and sets up a basic physical and virtual memory manager: Currently, I'm displaying text onto the screen by writing to the video address 0xB8000 in memory.…
user541686
  • 205,094
  • 128
  • 528
  • 886
2
votes
2 answers

Incorrect results drawing horizontal and vertical lines to the LFB returned by VBE

I finally managed to draw a cyan pixel on the screen using the VESA BIOS Extensions (1920px * 1080px, 24bpp). ;esi = bytes per scan line ;edx = physical address of linear framebuffer memory. ;ebx = x coord * 3 ;ecx = y coord DrawPixel: push…
MARSHMALLOW
  • 1,315
  • 2
  • 12
  • 24
2
votes
1 answer

OSDEV: How do i use vesa mode?

Hi I am trying to use vesa mode in my os and I am using this tutorial: Drawing In Protected Mode I got the resolution to switch but I don't know how to draw a pixel. here is my code: kernel.asm bits 32 section .text align 4 dd 0x1BADB002 dd…
haybame
  • 21
  • 3
2
votes
1 answer

Set custom base address of video memory VGA/VESA in assembly

I started programming in 32-bit protected mode. Im using it for high graph resolutions like 1280x1024 256 colors: mov ax,0x4F02 mov bx,0x107 int 0x10 but I have a problem with size of video memory (VRAM) because after switching to this resolution…
Segy
  • 213
  • 2
  • 12
2
votes
1 answer

x86 assembly VGA graphics with NASM glitch?

I apologize in advance if this question seems slightly stupid... I'm currently developing a simple 16 bit real mode OS using x86 assembly(NASM) with Ubuntu Mate Linux 16.04.3 LTS as my development platform and Virtualbox for debugging the system.…
2
votes
1 answer

Page fault when trying to access VESA LFB with paging enabled

Whenever I try to write a pixel to the LFB of VESA mode, I get a page fault where the page is present and has been read. My paging implementation is from James Molloy's OS series. I've tried identity mapping the LFB as follows: for (unsigned int i =…
Phillip
  • 1,205
  • 3
  • 15
  • 22
1
2 3 4