* Copyright (c) 1988 University of Utah.
* Copyright (c) 1990 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* the Systems Programming Group of the University of Utah Computer
* %sccs.include.redist.c%
* from: Utah $Hdr: ite_subr.c 1.2 92/01/20$
* @(#)ite_subr.c 7.4 (Berkeley) %G%
#include <hp300/stand/samachdep.h>
#include <hp/dev/itevar.h>
#include <hp/dev/itereg.h>
u_long fontaddr
= getword(ip
, getword(ip
, FONTROM
) + FONTADDR
);
ip
->ftheight
= getbyte(ip
, fontaddr
+ FONTHEIGHT
);
ip
->ftwidth
= getbyte(ip
, fontaddr
+ FONTWIDTH
);
ip
->rows
= ip
->dheight
/ ip
->ftheight
;
ip
->cols
= ip
->dwidth
/ ip
->ftwidth
;
if (ip
->fbwidth
> ip
->dwidth
) {
* Stuff goes to right of display.
ip
->cpl
= (ip
->fbwidth
- ip
->dwidth
) / ip
->ftwidth
;
ip
->cblankx
= ip
->dwidth
;
ip
->cblanky
= ip
->fonty
+ ((128 / ip
->cpl
) +1) * ip
->ftheight
;
* Stuff goes below the display.
ip
->cpl
= ip
->fbwidth
/ ip
->ftwidth
;
ip
->cblanky
= ip
->fonty
+ ((128 / ip
->cpl
) + 1) * ip
->ftheight
;
register struct ite_softc
*ip
;
int bytewidth
= (((ip
->ftwidth
- 1) / 8) + 1);
int glyphsize
= bytewidth
* ip
->ftheight
;
romp
= getword(ip
, getword(ip
, FONTROM
) + FONTADDR
) + FONTDATA
;
for (c
= 0; c
< 128; c
++) {
(ip
->fonty
+ (c
/ ip
->cpl
) * ip
->ftheight
) * ip
->fbwidth
+
(ip
->fontx
+ (c
% ip
->cpl
) * ip
->ftwidth
));
for (i
= 0; i
< glyphsize
; i
++) {
*dp
++ = getbyte(ip
, romp
);
writeglyph(ip
, fbmem
, fontbuf
);
* Display independent versions of the readbyte and writeglyph routines.
return((u_char
) *(((u_char
*)ip
->regbase
) + disp
));
ite_writeglyph(ip
, fbmem
, glyphp
)
register struct ite_softc
*ip
;
register u_char
*fbmem
, *glyphp
;
for (l
= 0; l
< ip
->ftheight
; l
++) {
for (b
= 0; b
< ip
->ftwidth
; b
++) {