| plan 9 kernel history: overview | file list | diff list |
1992/1108/pc/l.s (diff list | history)
| 1992/1107/sys/src/9/pc/l.s:635,641 – 1992/1108/sys/src/9/pc/l.s:635,643 (short | long | prev | next) | ||
|
Add l1update. Rename cswizzle.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1991/0806 | RET | |
| 1992/1107 | /* | |
| 1992/1108 | * copy bitmap changes to screen memory for ldepth 0 screen * reverse the bits since the screen is big-endian * and the bitmaps are little. | |
| 1992/1107 | */ TEXT l0update(SB),$0 XORL AX,AX | |
| 1992/1107/sys/src/9/pc/l.s:644,650 – 1992/1108/sys/src/9/pc/l.s:646,687 | ||
| 1992/1107 | MOVL to+4(FP),DX l00: MOVB -1(BX)(CX*1),AL | |
| 1992/1108 | MOVB bitrevtab(SB)(AX*1),AL | |
| 1992/1107 | MOVB AL,-1(DX)(CX*1) LOOP l00 | |
| 1992/1108 | RET #define SRX 0x3C4 /* index to sequence registers */ #define SR 0x3C5 /* sequence registers */ #define Smmask 0x02 /* map mask */ /* * same as l0update but for ldepth 1 (2 bit plane) screens */ TEXT l1update(SB),$0 MOVL from+0(FP),SI MOVL to+4(FP),DI MOVL len+8(FP),CX l10: XORL DX,DX MOVB -2(SI)(CX*2),DL /* high order nibbles */ MOVW l1revsep(SB)(DX*2),BX SHLW $4,BX MOVB -1(SI)(CX*2),DL /* low order nibbles */ ORW l1revsep(SB)(DX*2),BX MOVB $(Smmask),AL /* write hi order bits to bit planes 0 & 2 */ MOVW $(SRX),DX OUTB MOVB $0xA,AL MOVW $(SR),DX OUTB MOVB BH,-1(DI)(CX*1) MOVB $(Smmask),AL /* write lo order bits to bit planes 1 & 3 */ MOVW $(SRX),DX OUTB MOVB $0x5,AL MOVW $(SR),DX OUTB MOVB BL,-1(DI)(CX*1) LOOP l10 | |
| 1992/1107 | RET | |