vg2.0 писал(а): ↑17.01.2006 15:05to dark
В ядре есть опции?
Код: Выделить всё
options VGA_WIDTH90 options SC_PIXEL_MODE options VESA
options SC_PIXEL_MODE
options VESA
есть конечно
сейчас попробую VGA_WIDTH90 добавить
Модератор: arachnid
vg2.0 писал(а): ↑17.01.2006 15:05to dark
В ядре есть опции?
Код: Выделить всё
options VGA_WIDTH90 options SC_PIXEL_MODE options VESA
Код: Выделить всё
--- src,orig/sys/i386/isa/vesa.c Sat Jan 29 18:08:40 2000
+++ src/sys/i386/isa/vesa.c Thu Mar 16 11:44:31 2000
@@ -1016,7 +1016,25 @@
if (!(info.vi_flags & V_INFO_GRAPHICS))
info.vi_flags &= ~V_INFO_LINEAR;
- if (vesa_bios_set_mode(mode | ((info.vi_flags & V_INFO_LINEAR) ? 0x4000 : 0)))
+ if (mode == M_VESA_800x600) { /* XXX ignores V_INFO_LINEAR */
+ unsigned char crtc[0x19];
+ unsigned char reg;
+ if (vesa_bios_set_mode(mode))
+ return 1;
+ for (reg=0;reg<0x19;++reg) {
+ outb(0x3d4,reg);
+ crtc[reg]=inb(0x3d5);
+ }
+ if (!vesa_bios_set_mode(M_VESA_1024x768)) {
+ outb(0x3d4,0x11);
+ outb(0x3d5,crtc[0x11]&0x7f);
+ for (reg=0;reg<0x19;++reg) {
+ outb(0x3d4,reg);
+ outb(0x3d5,crtc[reg]);
+ }
+ }
+ } else
+ if (vesa_bios_set_mode(mode | ((info.vi_flags & V_INFO_LINEAR) ? 0x4000 : 0)))
return 1;
if (adp->va_info.vi_flags & V_INFO_LINEAR)