vbox的更動 4539 路徑 trunk/src/VBox/Devices/Graphics
- 時間撮記:
- 2007-9-5 下午04:53:45 (17 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r4382 r4539 1853 1853 #endif /* !VBOX */ 1854 1854 { 1855 int y1, y , update, page_min, page_max, linesize, y_start, double_scan, mask;1855 int y1, y2, y, update, page_min, page_max, linesize, y_start, double_scan, mask; 1856 1856 int width, height, shift_control, line_offset, page0, page1, bwidth; 1857 int disp_width, multi_ scan, multi_run;1857 int disp_width, multi_run; 1858 1858 uint8_t *d; 1859 1859 uint32_t v, addr1, addr; … … 1870 1870 shift_control = (s->gr[0x05] >> 5) & 3; 1871 1871 double_scan = (s->cr[0x09] >> 7); 1872 if (shift_control != 1) { 1873 multi_scan = (((s->cr[0x09] & 0x1f) + 1) << double_scan) - 1; 1874 } else { 1875 /* in CGA modes, multi_scan is ignored */ 1876 /* XXX: is it correct ? */ 1877 multi_scan = double_scan; 1878 } 1879 multi_run = multi_scan; 1872 multi_run = double_scan; 1880 1873 if (shift_control != s->shift_control || 1881 1874 double_scan != s->double_scan) { … … 1983 1976 1984 1977 y1 = 0; 1978 y2 = s->cr[0x09] & 0x1F; /* starting row scan count */ 1985 1979 for(y = 0; y < height; y++) { 1986 1980 addr = addr1; … … 2044 2038 } 2045 2039 if (!multi_run) { 2046 mask = (s->cr[0x17] & 3) ^ 3; 2047 if ((y1 & mask) == mask) 2040 // mask = (s->cr[0x17] & 3) ^ 3; 2041 // if ((y & mask) == mask) 2042 // addr1 += line_offset; 2043 y1++; 2044 multi_run = double_scan; 2045 2046 if (y2 == 0) { 2047 y2 = s->cr[0x09] & 0x1F; 2048 2048 addr1 += line_offset; 2049 y1++; 2050 multi_run = multi_scan; 2049 } else { 2050 --y2; 2051 } 2051 2052 } else { 2052 2053 multi_run--;
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器