9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: okamoto@granite.cias.osakafu-u.ac.jp
To: 9fans@cse.psu.edu
Subject: [9fans] GeForece4 MX (Inno3D Tornedo)
Date: Tue, 15 Apr 2003 16:25:05 +0900	[thread overview]
Message-ID: <d073b14da3501cb93397020209412a40@granite.cias.osakafu-u.ac.jp> (raw)

Hi,

I'm trying to use a GeForce 4 MX 440 (did=0x171) card, and
have problem.

New vgabvidia.c detects this GeForece 4 card successfully,
and run rio etc in a sence.

When I run it, my display (1376x1024x32, mf5421) shows
a smaller two separate window horizontally.   Vertically, it's
normal.   I think I'm using wrong horizontal timing, however,
how I can fix this?   Itried to tune the display's control panel,
but it's beyond the control range.

Below is a small fix to /sys/src/9/pc/vganvidia.c to avoid
strange cursor shape for this card.   I'd be happy if it could
be included in the source tree.

Kenji

------------cut here-----------
static void
nvidiacurload(VGAscr* scr, Cursor* curs)
{
	ulong*	p;
	int		i,j;
	ushort	c,s;
	ulong	tmp;
	Pcidev *pd;			/* K.Okamoto for Geforece4 MX */

	if(scr->io == 0)
		return;

	vgaxo(Crtx, 0x31, vgaxi(Crtx, 0x31) & ~0x01);

	p = KADDR(scr->io + hwCurImage);

	for(i=0; i<16; i++) {
		pd = nvidiapci();
		if(pd->did == 0x171) {	/* for Geforece4 MX bug, K.Okamoto */
			c = (curs->clr[2 * i+1] << 8) | curs->clr[2 * i];
			s = (curs->set[2 * i+1] << 8) | curs->set[2 * i];
		} else {
			c = (curs->clr[2 * i] << 8) | curs->clr[2 * i+1];
			s = (curs->set[2 * i] << 8) | curs->set[2 * i+1];
		}
		tmp = 0;
		for (j=0; j<16; j++){
			if(s&0x8000)
				tmp |= 0x80000000;
			else if(c&0x8000)
				tmp |= 0xFFFF0000;
			if (j&0x1){
				*p++ = tmp;
				tmp = 0;
			} else {
				tmp>>=16;
			}
			c<<=1;
			s<<=1;
		}
		for (j=0; j<8; j++)
			*p++ = 0;
	}
	for (i=0; i<256; i++)
		*p++ = 0;

	scr->offset = curs->offset;
	vgaxo(Crtx, 0x31, vgaxi(Crtx, 0x31) | 0x01);

	return;
}

------cut here------



             reply	other threads:[~2003-04-15  7:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-15  7:25 okamoto [this message]
2003-04-15  8:34 ` okamoto
2003-04-15  9:59   ` okamoto
2003-04-15 15:23     ` Russ Cox
2003-04-16  0:50       ` okamoto
2003-04-16  1:36         ` okamoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d073b14da3501cb93397020209412a40@granite.cias.osakafu-u.ac.jp \
    --to=okamoto@granite.cias.osakafu-u.ac.jp \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).