Subject: newport cursor offset
To: None <port-sgimips@NetBSD.org>
From: Frank Wille <frank@phoenix.owl.de>
List: port-sgimips
Date: 07/10/2006 23:00:21
Hi!

The current cursor-positioning in newport_cursor() doesn't work for all
boards. I have a
 SGI NG1 (board revision 5, cmap revision 5, xmap revision 5, vc2 revision 0)

And the workaround for the bug in some boards looks like this:
        if (dc->dc_boardrev < 6)
                x_offset = 21;
        else if (dc->dc_vc2rev == 0)
                x_offset = 29;
        else
                x_offset = 31;

Correct for my board would be x_offset = 29, but as the first condition has
priority, it places the cursor 8 pixels to the left, hiding the character
which has been typed.

I would suggest to swap the first two if-clauses:
        if (dc->dc_vc2rev == 0)
                x_offset = 29;
        else if (dc->dc_boardrev < 6)
                x_offset = 21;
        ...

-- 
    _  Frank Wille (frank@phoenix.owl.de)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer