Subject: Re: kernel manipulations
To: None <port-amiga@netbsd.org>
From: Georges Heinesch <geohei-ml@geohei.lu>
List: port-amiga
Date: 03/09/2001 17:20:53
Quoting Gunther Nikl (08-Mar-01 18:10:34):

>> ----- cut here -----
>> grfcc0 at mainbus0
>> grf0 at grfcc0: width 640 height 400 colors 4

>  You should remove grf0 and everything you don't have in your A3000.
>  Its not needed at all if you have a CV64.

I just have grf0 and grf5.
grf0 (custom chips) is in, so why should I remove it?

>> ----- cut here -----
>> 
>> Hope I didn't cut the most interesting part.

>  You did :-) There must be a line saying something about "console".

Of course ... here again all the lines with "console".

... later ...

Not one single line with "console" in dmesg ?!?!

>> While looking at dmesg above, grf_cc.c should be the right one.

>   No, this is the custom-chip driver! Your driver is grf_cv.c

That's what I realized as well shortly after the mail, you replied to,
was sent.

>   Please be VERY careful if you change something there!

Ok, here the relevant line in grff_cv.c

----- cut here -----
/*
 * Define default console mode
 * (Internally, we still have to use hvalues/8!)
 */

struct grfcvtext_mode cvconsole_mode = {
    {255, "", 25000000, 640, 480, 4, 640/8, 680/8, 768/8, 800/8,
     481, 491, 493, 525, 0},
    8, S3FONTY, 80, 480 / S3FONTY, S3FONT, 32, 255
};
----- cut here -----

After examination of the grfmodes values (what the different numbers
mean) and the grfcvtext_mode structure (grf_cvreg.h) and grfvideo_mode
structure (grfioctl.h), I changed it into:

----- cut here -----
struct grfcvtext_mode cvconsole_mode = {
    {255, "", 79000000, 1024, 768, 4, 1024/8, 1040/8, 1136/8, 1312/8,
     768, 769, 772, 800, 0},
    8, S3FONTY, 128, 768 / S3FONTY, S3FONT, 32, 255
};
----- cut here -----

This looked quite fine for me. However the display was not what I
expected. The resolution was correct (1024x768), but the image was
flicking like I would have chosen something like 32 bit depth. As you
see above, it was only 4. Until now, I didn't find out what went
wrong. I took the correct numbers from the /etc/grfmodes file!

----- cut here -----
# num clock      wid   hi dep  hbs  hss  hse   ht  vbs  vss  vse   vt flags
#
# 8-Bit Modes.
  1   32000000   640  480   8  640  656  720  840  480  481  484  500 default
  2   50000000   800  600   8  800  816  896 1056  600  601  604  625 default
  3   79000000  1024  768   8 1024 1040 1136 1312  768  769  772  800 default
  4   100000000 1152  870   8 1152 1184 1312 1456  870  873  876  915 default
  5   135000000 1152  900   8 1152 1184 1328 1576  900  903  906  945 default
  6   135000000 1280 1024   8 1280 1296 1440 1688 1024 1025 1028 1066 default
# 16-Bit Modes.
  7   32000000   640  480  16  640  656  720  840  480  481  484  500 default
  8   50000000   800  600  16  800  816  896 1056  600  601  604  625 default
  9   79000000  1024  768  16 1024 1040 1136 1312  768  769  772  800 default
  10  100000000 1152  870  16 1152 1184 1312 1456  870  873  876  915 default
  11  100000000 1152  900  16 1152 1184 1312 1456  900  903  906  945 default
  12  110000000 1280 1024  16 1280 1352 1480 1688 1024 1025 1026 1066 default
  13  108000000 1152  864  16 1152 1184 1312 1520  864  867  870  909 default
# 24-Bit Modes.
  14  32000000   640  480  24  640  656  720  840  480  481  484  500 default
  15  50000000   800  600  24  800  816  896 1056  600  601  604  625 default
  16  53000000  1024  768  24 1024 1048 1144 1208  768  769  772  789 default
----- cut here -----

Like I said ... the resolution is all right, but the image behaves
like it would be totally overclocked (which is not possible with 79
MHz and 4 bitplanes).

>   BTW, you should be able to change the console resolution with an
>   appropriate line in your grfmodes file. Check the mailing list
>   archive. Only the _color_ can currently not be changed from the
>  commandline, IMHO. This should be possible too, as soon
>  NetBSD/amiga has wscons support, but I can be wrong.

I'm gonna take a look at the archive. The grfmodes docs I have however
didn't mention anything about it.

Thanks for the hint.

-- 
Cu  Georges Heinesch, Luxembourg
    geohei@geohei.lu
    http://www.geohei.lu
    PGP RSA & DH/DSS public key on request and on public servers

... her name was Lola, ...