* [9fans] Fixing the Older Millennium-1 Cursor
@ 2000-07-02 1:15 Stephen Wynne
2000-07-05 8:32 ` Bruce G. Stewart
2000-07-05 8:32 ` Bruce G. Stewart
0 siblings, 2 replies; 4+ messages in thread
From: Stephen Wynne @ 2000-07-02 1:15 UTC (permalink / raw)
To: 9fans
RAMDAC docs: http://www.ti.com/sc/docs/products/analog/tvp3025.html
Where to get started: /src/9/pc/vgamga2164w.c
What v3 does support: http://www.ti.com/sc/docs/products/analog/tvp3026.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Fixing the Older Millennium-1 Cursor
2000-07-02 1:15 [9fans] Fixing the Older Millennium-1 Cursor Stephen Wynne
@ 2000-07-05 8:32 ` Bruce G. Stewart
2000-07-05 8:32 ` Bruce G. Stewart
1 sibling, 0 replies; 4+ messages in thread
From: Bruce G. Stewart @ 2000-07-05 8:32 UTC (permalink / raw)
To: 9fans
I have fixed the Millenium I cursor on my machine; I'll dig it out and forward
it to you. The problem is that aux/vga sets the vertical blanking interval way
too short, and the cursor is triggered off the end of the vertical blanking
pulse.
The end-vertical-retrace register should have something like total vertical - 2
or total vertical - 1. I amended /src/cmd/aux/vga/mga2164w.c to do this and the
cursor works fine.
As an added bonus, a few scanlines worth of cruft at the top of the screen went
away.
This probably should be changed in the generic vga file - I can't think of any
reason it should ever be set to anything else, since plan9 has no overscan
border.
I will get the specifics for you next time I have 9 booted.
Stephen Wynne wrote:
> RAMDAC docs: http://www.ti.com/sc/docs/products/analog/tvp3025.html
> Where to get started: /src/9/pc/vgamga2164w.c
> What v3 does support: http://www.ti.com/sc/docs/products/analog/tvp3026.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Fixing the Older Millennium-1 Cursor
2000-07-02 1:15 [9fans] Fixing the Older Millennium-1 Cursor Stephen Wynne
2000-07-05 8:32 ` Bruce G. Stewart
@ 2000-07-05 8:32 ` Bruce G. Stewart
2000-07-06 8:48 ` Bruce G. Stewart
1 sibling, 1 reply; 4+ messages in thread
From: Bruce G. Stewart @ 2000-07-05 8:32 UTC (permalink / raw)
To: 9fans
I missed the first part of this thread, so I don't know if the problem it
refers to has been solved. Here's the fix I put in for the cursor on a
Millennium I card (this particular card was V2.3.)
The change adjusts the end-vertical-blanking parameter to be 2 less than the
number of lines, visible and not, per scan. It has NOT been tested with
interlaced
modes; in fact, it has not been tested with anything other than -m p815
1600x1200x8.
You will want to save the file /386/bin/aux/vga somewhere in case you need to go
back.
Add the line numbered 357 here to the function init() in file
/sys/src/cmd/aux/vga/mga2164w.c:
353
354 offset = (mode->x*mode->z) >> ((pixbuswidth==32)? 6 : 7);
355 vga->crt[0x13] = offset;
356 vga->crt[0x14] = 0;
357 vga->crt[0x16] = mode->vt - 2; // bgs 30-Jun-00
358 vga->crt[0x17] = 0xE3;
359
Then build and reboot:
cd /sys/src/cmd/aux/vga
disk/kfscmd allow
mk install
disk/kfscmd halt
Ctrl-Alt-Delete
Stephen Wynne wrote:
> RAMDAC docs: http://www.ti.com/sc/docs/products/analog/tvp3025.html
> Where to get started: /src/9/pc/vgamga2164w.c
> What v3 does support: http://www.ti.com/sc/docs/products/analog/tvp3026.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Fixing the Older Millennium-1 Cursor
2000-07-05 8:32 ` Bruce G. Stewart
@ 2000-07-06 8:48 ` Bruce G. Stewart
0 siblings, 0 replies; 4+ messages in thread
From: Bruce G. Stewart @ 2000-07-06 8:48 UTC (permalink / raw)
To: 9fans
Here's a more comprehensive fix for the Millennium I Cursor problem.
Instead of adding the line I showed in a previous message,
insert lines 408 through 428 from the following near the
end of the init function in /sys/src/cmd/aux/vga/mga2164w.c:
405 mga->tvp[0x3A] = 0;
406 mga->tvp[0x06] = 0;
407
408 {
409 // bgs 05-Jul-00 - Fix vertical blanking setup
410 // This should probably be corrected in vga.c too.
411
412 int svb = mode->y; // Start vertical blanking
after the last displayed line
413 int evb = mode->vt; // End vertical blanking
after the total line count
414
415 if(mode->interlace == 'v'){ // A field is 1/2 of the
lines in interlaced mode
416 svb /= 2;
417 evb /= 2;
418 }
419 --svb;
420 --evb; // line counter counts from
0
421
422 vga->crt[0x15] = svb;
423 vga->crt[0x07] = (vga->crt[0x07] & ~0x08) | ((svb &
0x100) >> 5);
424 vga->crt[0x09] = (vga->crt[0x09] & ~0x20) | ((svb &
0x200) >> 4);
425 mga->crtcext[0x02] = (mga->crtcext[0x02] & ~0x18) | ((svb &
0xC00) >> 7);
426 // MGA specific: bits 10 and
11
427 vga->crt[0x16] = evb;
428 }
429
430 clockcalc(vga, ctlr, mode->z);
431
432
433 mga->option = mga->option & ~0x3000;
434 if(vga->vmz > 2*Meg)
435 mga->option |= 0x1000;
Then build and reboot:
cd /sys/src/cmd/aux/vga
disk/kfscmd allow
mk install
disk/kfscmd halt
Ctrl-Alt-Delete
This fixes problems with both the start and end of the vertical blanking interval,
and should work for interlaced and non-interlaced modes alike.
"Bruce G. Stewart" wrote:
> I missed the first part of this thread, so I don't know if the problem it
> refers to has been solved. Here's the fix I put in for the cursor on a
> Millennium I card (this particular card was V2.3.)
>
> The change adjusts the end-vertical-blanking parameter to be 2 less than the
> number of lines, visible and not, per scan. It has NOT been tested with
> interlaced
> modes; in fact, it has not been tested with anything other than -m p815
> 1600x1200x8.
>
> You will want to save the file /386/bin/aux/vga somewhere in case you need to go
> back.
>
> Add the line numbered 357 here to the function init() in file
> /sys/src/cmd/aux/vga/mga2164w.c:
>
> 353
> 354 offset = (mode->x*mode->z) >> ((pixbuswidth==32)? 6 : 7);
> 355 vga->crt[0x13] = offset;
> 356 vga->crt[0x14] = 0;
> 357 vga->crt[0x16] = mode->vt - 2; // bgs 30-Jun-00
> 358 vga->crt[0x17] = 0xE3;
> 359
>
> Stephen Wynne wrote:
>
> > RAMDAC docs: http://www.ti.com/sc/docs/products/analog/tvp3025.html
> > Where to get started: /src/9/pc/vgamga2164w.c
> > What v3 does support: http://www.ti.com/sc/docs/products/analog/tvp3026.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2000-07-06 8:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-02 1:15 [9fans] Fixing the Older Millennium-1 Cursor Stephen Wynne
2000-07-05 8:32 ` Bruce G. Stewart
2000-07-05 8:32 ` Bruce G. Stewart
2000-07-06 8:48 ` Bruce G. Stewart
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).