| plan 9 kernel history: overview | file list | diff list |
1992/0502/pc/vga.c (diff list | history)
| 1992/0501/sys/src/9/pc/vga.c:22,29 – 1992/0502/sys/src/9/pc/vga.c:22,34 (short | long | prev | next) | ||
| 1991/0730 | /* * screen dimensions */ | |
| 1992/0502 | /* | |
| 1992/0430 | #define MAXX 800 #define MAXY 600 | |
| 1992/0502 | */ #define MAXX 640 #define MAXY 480 | |
| 1991/0730 | #define SCREENMEM (0xA0000 | KZERO) | |
| 1992/0501/sys/src/9/pc/vga.c:72,78 – 1992/0502/sys/src/9/pc/vga.c:77,83 | ||
| 1992/0414 | VGAmode mode12 = { /* general */ | |
| 1992/0423 |
| |
| 1992/0502 | 0xe7, 0x00, | |
| 1992/0414 | /* sequence */ 0x03, 0x01, 0x0f, 0x00, 0x06, /* crt */ | |
| 1992/0501/sys/src/9/pc/vga.c:90,106 – 1992/0502/sys/src/9/pc/vga.c:95,111 | ||
| 1992/0414 | }; | |
| 1992/0418 | ||
| 1992/0430 | /* | |
| 1992/0501 |
| |
| 1992/0502 | * VESA standard (?) 800x600 display, 16 bit color. | |
| 1992/0430 | */ | |
| 1992/0501 | VGAmode mode6a = | |
| 1992/0430 | { /* general */ | |
| 1992/0501 |
| |
| 1992/0502 | 0xe3, 0x00, /* 0x70, 0x04, these are read-only */ | |
| 1992/0430 | /* sequence */ 0x03, 0x01, 0x0f, 0x00, 0x06, /* crt */ | |
| 1992/0501 |
| |
| 1992/0502 | 0x7f, 0x63, 0x64, 0x02, 0x6a, 0x1d, 0x77, 0xf0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, | |
| 1992/0501 | 0x5d, 0x8f, 0x57, 0x32, 0x00, 0x5b, 0x74, 0xc3, 0xff, | |
| 1992/0430 | /* graphics */ | |
| 1992/0501/sys/src/9/pc/vga.c:205,214 – 1992/0502/sys/src/9/pc/vga.c:210,271 | ||
| 1991/0928 | ||
| 1992/0423 | #ifdef VGATROUBLE | |
| 1991/0727 | void | |
| 1992/0423 |
| |
| 1992/0502 | getmode(VGAmode *v) { | |
| 1992/0423 | int i; | |
| 1992/0502 | v->general[0] = inb(0x3cc); v->general[1] = inb(0x3ca); for(i = 0; i < sizeof(v->sequencer); i++) { outb(SRX, i); v->sequencer[i] = inb(SR); } for(i = 0; i < sizeof(v->crt); i++) { outb(CRX, i); v->crt[i] = inb(CR); } for(i = 0; i < sizeof(v->graphics); i++) { outb(GRX, i); v->graphics[i] = inb(GR); } for(i = 0; i < sizeof(v->attribute); i++) { inb(0x3DA); outb(ARW, i | 0x20); v->attribute[i] = inb(ARR); } } | |
| 1992/0423 | ||
| 1992/0502 | void printmode(VGAmode *v) { int i; print("general registers: %02x %02x\n", v->general[0], v->general[1]); print("sequence registers: "); for(i = 0; i < sizeof(v->sequencer); i++) { print(" %02x", v->sequencer[i]); } print("\nCRT registers: "); for(i = 0; i < sizeof(v->crt); i++) { print(" %02x", v->crt[i]); } print("\nGraphics registers: "); for(i = 0; i < sizeof(v->graphics); i++) { print(" %02x", v->graphics[i]); } print("\nAttribute registers: "); for(i = 0; i < sizeof(v->attribute); i++) { print(" %02x", v->attribute[i]); } print("\n"); } void dumpmodes(void) { VGAmode *v; int i; | |
| 1992/0423 | print("general registers: %02x %02x %02x %02x\n", inb(0x3cc), inb(0x3ca), inb(0x3c2), inb(0x3da)); | |
| 1992/0501/sys/src/9/pc/vga.c:236,243 – 1992/0502/sys/src/9/pc/vga.c:293,298 | ||
| 1992/0423 | outb(ARW, i | 0x20); print(" %02x", inb(ARR)); } | |
| 1992/0501/sys/src/9/pc/vga.c:247,252 – 1992/0502/sys/src/9/pc/vga.c:302,308 | ||
| 1991/0727 | int i, j, k; int c; | |
| 1991/0730 | ulong *l; | |
| 1992/0502 | VGAmode v; | |
| 1991/0723 | ||
| 1992/0501 | setmode(&mode12); | |
| 1991/0929 | ||