VirtualBox

Changeset 82150 in vbox for trunk


Ignore:
Timestamp:
Nov 24, 2019 7:36:19 PM (5 years ago)
Author:
vboxsync
Message:

VGABIOS: Take the page number into account for planar graphics modes in some services.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/BIOS/vgabios.c

    r82143 r82150  
    436436    case PLANAR1:
    437437        addr = col / 8 + row * read_word(BIOSMEM_SEG, BIOSMEM_NB_COLS);
     438        addr += read_word(BIOSMEM_SEG, BIOSMEM_PAGE_SIZE) * page;
    438439        mask = 0x80 >> (col & 0x07);
    439440        attr = 0x00;
     
    11191120// --------------------------------------------------------------------------------------------
    11201121static void write_gfx_char_pl4(uint8_t car, uint8_t attr, uint8_t xcurs,
    1121                                uint8_t ycurs, uint8_t nbcols, uint8_t cheight)
     1122                               uint8_t ycurs, uint8_t nbcols, uint8_t cheight, uint8_t page)
    11221123{
    11231124 uint8_t i,j,mask;
     
    11361137  }
    11371138 addr=xcurs+ycurs*cheight*nbcols;
     1139 addr+=read_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE)*page;
    11381140 src = car * cheight;
    11391141 outw(VGAREG_SEQU_ADDRESS, 0x0f02);
     
    13141316       case PLANAR4:
    13151317       case PLANAR1:
    1316          write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight);
     1318         write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight,page);
    13171319         break;
    13181320       case CGA:
     
    13731375       case PLANAR4:
    13741376       case PLANAR1:
    1375          write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight);
     1377         write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight,page);
    13761378         break;
    13771379       case CGA:
     
    14081410   case PLANAR1:
    14091411     addr = CX/8+DX*read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS);
     1412     addr += read_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE) * BH;
    14101413     mask = 0x80 >> (CX & 0x07);
    14111414     outw(VGAREG_GRDC_ADDRESS, (mask << 8) | 0x08);
     
    15291532        case PLANAR4:
    15301533        case PLANAR1:
    1531           write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight);
     1534          write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight,page);
    15321535          break;
    15331536        case CGA:
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