| plan 9 kernel history: overview | file list | diff list |
1991/0724/pc/vga.c (diff list | history)
| 1991/0723/sys/src/9/pc/vga.c:9,16 – 1991/0724/sys/src/9/pc/vga.c:9,32 (short | long | prev | next) | ||
| 1991/0723 | { GRX= 0x3CE, /* index to graphics registers */ GR= 0x3CF, /* graphics registers 0-8 */ | |
| 1991/0724 | SRX= 0x3C4, /* index to sequence registers */ SR= 0x3C5, /* sequence registers 0-7 */ | |
| 1991/0723 | }; | |
| 1991/0724 | void srout(int reg, int val) { outb(SRX, reg); outb(SR, val); } void grout(int reg, int val) { outb(GRX, reg); outb(GR, val); } | |
| 1991/0723 | /* * look at VGA registers */ | |
| 1991/0723/sys/src/9/pc/vga.c:17,29 – 1991/0724/sys/src/9/pc/vga.c:33,51 | ||
| 1991/0723 | void vgainit(void) { | |
| 1991/0724 | uchar *display; | |
| 1991/0723 | int i; | |
| 1991/0724 | srout(2, 0x0f); /* enable all 4 color planes */ srout(4, 0x08); /* quad mode */ grout(5, 0x40); /* pixel bits are sequential */ grout(6, 0x01); /* graphics mode - display starts at 0xA0000 */ for(;;); display = (uchar*)(0xA0000 | KZERO); for(i = 0; i < 128*1024; i++) display[i] = 0x00; for(i = 0; i < 4*640; i++) display[i] = 0xff; | |
| 1991/0723 | } | |