VirtualBox

Changeset 75149 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Oct 29, 2018 2:14:22 PM (6 years ago)
Author:
vboxsync
Message:

BIOS: Added custom video mode set function not limited by the list of available VBE modes (bugref:9273).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/logo.c

    r69500 r75149  
    6161    parm [es di] modify [ax bx] nomemory;
    6262
     63
     64/**
     65 * Set custom video mode.
     66 * @param   xres    Requested width
     67 * @param   yres    Requested height
     68 * @param   bpp     Requested bits per pixel
     69 */
     70uint16_t custom_set_mode(uint16_t xres, uint16_t yres, uint8_t bpp);
     71#pragma aux custom_set_mode = \
     72    "mov    ax, 5642h"      \
     73    "mov    bl, 0"          \
     74    "int    10h"            \
     75    parm [cx] [dx] [bh] modify [ax] nomemory;
    6376
    6477/**
     
    369382        goto done;
    370383
    371     // Set video mode #0x142 640x480x32bpp
    372     vesa_set_mode(0x142);
     384    /* Set video mode using private video BIOS interface. */
     385    tmp = custom_set_mode(640*2, 480*2, 32);
     386    /* If custom mode set failed, fall back to VBE. */
     387    if (tmp != 0x4F)
     388        vesa_set_mode(0x142);
    373389
    374390    if (is_fade_in)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette