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, ...