簡體   English   中英

在 DOSBox 下列為支持的無法識別的視頻模式

[英]Unidentifiable video modes listed as supported under DOSBox

我注意到使用 VGA/VESA 編程的 DOSBox 中出現了一些相當奇怪的問題。

運行 VESA BIOS function 01h,然后將偏移量 14 處的值所指向的列表的條目打印到緩沖區中,直到達到 -1 打印以下條目:

Modes: 100, 101, 102, 103, 104, 105, 106, 107, 10d, 10e, 10f, 110, 111, 112, 113, 114, 115, 116, 117, 150,
151, 152, 153, 160, 161, 162, 165, 170, 171, 172, 175, 190, 191, 192, 207, 209, 20a, 213, 222, 223, 224, 225

在 TurboC++ for DOS 中執行此操作的代碼是:

union REGS regs;
struct SREGS sregs;
byte buffer[1024];
word far *modes, far *mptr;
regs.x.ax = 0x4f00;
sregs.es = FP_SEG(buffer);
regs.x.di = FP_OFF(buffer);
int86x(0x10, &regs, &regs, &sregs);
modes = *(word far**)(buffer + 14);
printf("Modes: ");
for(mptr = modes; *mptr != -1; mptr++){
    printf("%02x, ", *mptr);
}
printf("\n");

基本上,我不明白很多這些模式是什么。 其中一些,例如高達 117,我可以找到文檔,但對於其中的很多,例如 150 和超過 200 的所有內容,我找不到任何關於這些模式實際是什么的跡象。 誰能幫我解決這個問題?

取自VGA/VESA 視頻模式

Values for S3 OEM video mode:[18]
201h   640x480x256
202h   800x600x16
203h   800x600x256
204h   1024x768x16
205h   1024x768x256
206h   1280x960x16
207h   1152x864x256 (Diamond Stealth 64)
208h   1280x1024x16
209h   1152x864x32K
20Ah   1152x864x64K (Diamond Stealth 64)
20Bh   1152x864x4G
211h   640x480x64K (Diamond Stealth 24)
211h   640x400x4G  (Diamond Stealth64 Video / Stealth64 Graphics)
212h   640x480x16M (Diamond Stealth 24)
301h   640x480x32K

看起來他們與S3 gfx 卡相關... IIRC 他們需要在 DOS 下使用特殊的 gfx 驅動程序才能工作,這與標准 VGA/VESA 卡不同,標准 VGA/VESA 卡無需任何驅動程序即可本地運行(除非您想要像 UNIVBE 這樣的 VBE 擴展)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM