| plan 9 kernel history: overview | file list | diff list |
1992/1108/pc/vga.c (diff list | history)
| 1992/1107/sys/src/9/pc/vga.c:327,333 – 1992/1108/sys/src/9/pc/vga.c:327,386 (short | long | prev | next) | ||
| 1992/1106 | mbb.max.y = p.y+1; } | |
| 1992/1108 | /* * copy litte endian soft screen to big endian hard screen */ | |
| 1992/1106 | void | |
| 1992/1108 | screenupdate(void) { uchar *sp, *hp; int y, len, incs, inch; Rectangle r; r = mbb; mbb = NULLMBB; if(Dy(r) < 0) return; if(r.min.x < 0) r.min.x = 0; if(r.min.y < 0) r.min.y = 0; if(r.max.x > gscreen.r.max.x) r.max.x = gscreen.r.max.x; if(r.max.y > gscreen.r.max.y) r.max.y = gscreen.r.max.y; sp = (uchar*)gaddr(&gscreen, r.min); hp = (uchar*)gaddr(&vgascreen, r.min); len = (r.max.x + 31)/32 - r.min.x/32; len *= BY2WD; if(len <= 0) return; incs = gscreen.width * BY2WD; inch = vgascreen.width * BY2WD; switch(gscreen.ldepth){ case 0: for (y = r.min.y; y < r.max.y; y++){ l0update(sp, hp, len); sp += incs; hp += inch; } break; case 1: for (y = r.min.y; y < r.max.y; y++){ l1update(sp, hp, len); sp += incs; hp += inch; } break; } } void | |
| 1991/1228 | screenputnl(void) | |
| 1991/0730 | { | |
| 1992/1106 | Rectangle r; | |
| 1992/1107/sys/src/9/pc/vga.c:394,443 – 1992/1108/sys/src/9/pc/vga.c:447,453 | ||
| 1991/0730 | } | |
| 1992/1106 |
| |
| 1991/0730 | void | |
| 1992/1106 |
| |
| 1992/1107 |
| |
| 1992/1106 | ||
| 1992/1107 |
| |
| 1992/1106 |
| |
| 1992/1107 |
| |
| 1992/1106 |
| |
| 1992/1107 |
| |
| 1992/1106 |
| |
| 1992/1107 |
| |
| 1992/1106 |
| |
| 1992/1107/sys/src/9/pc/vga.c:512,514 – 1992/1108/sys/src/9/pc/vga.c:522,574 | ||
| 1992/1106 | bitreverse(arrow.set, 2*16); bitreverse(arrow.clr, 2*16); | |
| 1991/0730 | } | |
| 1992/1108 | /* * Table for separating and reversing bits in a ldepth 1 bitmap. * This aids in coverting a little endian ldepth 1 bitmap into the * 2 big-endian ldepth 0 bitmaps used for the VGA bit planes. * * if the bits in uchar x are labeled * 76543210 * then l1revsep[x] yields a ushort with bits * ____0246____1357 * where _ represents a bit whose value is 0. * * This table is used by l1update() in l.s. l1update is implemented * in assembler for speed (yech). * */ ushort l1revsep[] = { 0x0000, 0x0800, 0x0008, 0x0808, 0x0400, 0x0c00, 0x0408, 0x0c08, 0x0004, 0x0804, 0x000c, 0x080c, 0x0404, 0x0c04, 0x040c, 0x0c0c, 0x0200, 0x0a00, 0x0208, 0x0a08, 0x0600, 0x0e00, 0x0608, 0x0e08, 0x0204, 0x0a04, 0x020c, 0x0a0c, 0x0604, 0x0e04, 0x060c, 0x0e0c, 0x0002, 0x0802, 0x000a, 0x080a, 0x0402, 0x0c02, 0x040a, 0x0c0a, 0x0006, 0x0806, 0x000e, 0x080e, 0x0406, 0x0c06, 0x040e, 0x0c0e, 0x0202, 0x0a02, 0x020a, 0x0a0a, 0x0602, 0x0e02, 0x060a, 0x0e0a, 0x0206, 0x0a06, 0x020e, 0x0a0e, 0x0606, 0x0e06, 0x060e, 0x0e0e, 0x0100, 0x0900, 0x0108, 0x0908, 0x0500, 0x0d00, 0x0508, 0x0d08, 0x0104, 0x0904, 0x010c, 0x090c, 0x0504, 0x0d04, 0x050c, 0x0d0c, 0x0300, 0x0b00, 0x0308, 0x0b08, 0x0700, 0x0f00, 0x0708, 0x0f08, 0x0304, 0x0b04, 0x030c, 0x0b0c, 0x0704, 0x0f04, 0x070c, 0x0f0c, 0x0102, 0x0902, 0x010a, 0x090a, 0x0502, 0x0d02, 0x050a, 0x0d0a, 0x0106, 0x0906, 0x010e, 0x090e, 0x0506, 0x0d06, 0x050e, 0x0d0e, 0x0302, 0x0b02, 0x030a, 0x0b0a, 0x0702, 0x0f02, 0x070a, 0x0f0a, 0x0306, 0x0b06, 0x030e, 0x0b0e, 0x0706, 0x0f06, 0x070e, 0x0f0e, 0x0001, 0x0801, 0x0009, 0x0809, 0x0401, 0x0c01, 0x0409, 0x0c09, 0x0005, 0x0805, 0x000d, 0x080d, 0x0405, 0x0c05, 0x040d, 0x0c0d, 0x0201, 0x0a01, 0x0209, 0x0a09, 0x0601, 0x0e01, 0x0609, 0x0e09, 0x0205, 0x0a05, 0x020d, 0x0a0d, 0x0605, 0x0e05, 0x060d, 0x0e0d, 0x0003, 0x0803, 0x000b, 0x080b, 0x0403, 0x0c03, 0x040b, 0x0c0b, 0x0007, 0x0807, 0x000f, 0x080f, 0x0407, 0x0c07, 0x040f, 0x0c0f, 0x0203, 0x0a03, 0x020b, 0x0a0b, 0x0603, 0x0e03, 0x060b, 0x0e0b, 0x0207, 0x0a07, 0x020f, 0x0a0f, 0x0607, 0x0e07, 0x060f, 0x0e0f, 0x0101, 0x0901, 0x0109, 0x0909, 0x0501, 0x0d01, 0x0509, 0x0d09, 0x0105, 0x0905, 0x010d, 0x090d, 0x0505, 0x0d05, 0x050d, 0x0d0d, 0x0301, 0x0b01, 0x0309, 0x0b09, 0x0701, 0x0f01, 0x0709, 0x0f09, 0x0305, 0x0b05, 0x030d, 0x0b0d, 0x0705, 0x0f05, 0x070d, 0x0f0d, 0x0103, 0x0903, 0x010b, 0x090b, 0x0503, 0x0d03, 0x050b, 0x0d0b, 0x0107, 0x0907, 0x010f, 0x090f, 0x0507, 0x0d07, 0x050f, 0x0d0f, 0x0303, 0x0b03, 0x030b, 0x0b0b, 0x0703, 0x0f03, 0x070b, 0x0f0b, 0x0307, 0x0b07, 0x030f, 0x0b0f, 0x0707, 0x0f07, 0x070f, 0x0f0f, }; | |