[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bsd-nomads:16808] Re: VGA/VESA on ThinkPad A21m
- Subject: [bsd-nomads:16808] Re: VGA/VESA on ThinkPad A21m
- From: chi@bd.mbn.or.jp (Chiharu Shibata)
- Date: Mon, 2 Feb 2004 07:40:45 +0900 (JST)
こんにちは、柴田です。
Thu, 29 Jan 2004 17:47:43 JSTに
私は書きました。
>ところが、logo_saverを使おうとすると、画面がホワイトアウトして、上1/3ぐ
>らいのところに黒い横線が走り、その後画面全体がじわじわ色が薄くなっていく
>という、明らかな暴走状態になってしまいました。
>#もちろんキー入力も効かず
>たぶんいい線まで来ているのでしょうが、現状はここまでです。
悪いのはlogo_saverのほうでした。
--- sys/modules/syscons/logo/logo_saver.c 2004/02/01 07:17:50 1.1
+++ logo_saver.c 2004/02/01 07:41:32
@@ -95,7 +95,7 @@
static int
logo_saver(video_adapter_t *adp, int blank)
{
- int i, pl;
+ int pl;
if (blank) {
/* switch to graphics mode */
@@ -111,10 +111,7 @@
banksize = adp->va_window_size;
bpsl = adp->va_line_width;
splx(pl);
- for (i = 0; i < bpsl*scrh; i += banksize) {
- set_origin(adp, i);
- bzero(vid, banksize);
- }
+ (*vidsw[adp->va_index]->clear)(adp);
}
logo_update(adp);
} else {
currentでちゃんと動いていたのは、既にこれと同じ修正が入っているからで、
それはスクリーンセーバのPC-98への移植のからみで、自分が
「syscons(fb)側にあるxxx_clear()を使いましょう」
と提案してcommitしてもらったからでした(^^;;
| CVS log for src/sys/dev/syscons/logo/logo_saver.c
|
| Revision 1.12
| CVS Tags: RELENG_5_2_BP,RELENG_5_2_0_RELEASE,RELENG_5_2,HEAD
|
| Use the clear function provided by the video adapter driver.
| Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
元のコードだとGV-RAMサイズがbanksizeの整数倍でない場合、余分な領域へのデー
タ書き込みが行われ、機種によってはそれが致命傷になってしまうということで
しょう。
--
柴田 千春(♂) chi@bd.mbn.or.jp <http://www32.ocn.ne.jp/~chi/>