[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MGL and 8bpp



鈴木(康)です。

MGL を alpha-018 にバージョンアップしました。

http://www.at.sakura.ne.jp/~suz/MGL2/download.html 

を参照してください。

あと、紹介ページで軽いものも作ってみました。

http://www.at.sakura.ne.jp/~suz/MGL2/index-text.html

alpha-017p9 からの update の内容は、あんまり hpcmips には嬉しいもの
はないですが、018p1 あたりで、R-500 に対して 疑似 カラーサポートでも
入れようかと思っています。

MC-R500 で 次のプログラムを MGL を動かしている状態で動かすと、
color map の 状態が判ります。(MGL の中で動かすと画面がくずれるので
見えません、telnet して見てください。)

私の環境では、こんな風に 暗い 6 色と 明るい 6 色 薄い 6 色が見えました。
これを使って 6 色 x 3 レベル + 4 グレースケールで 美しくはないながら
カラー表示できています。

暗い/明るい 6 色 は多分標準色のような気がするんですが、薄い方が
どうなのか知りたく思います。
# 標準の color map でなくても R-500 で おなじなら入れちゃっていいかな
# と思っています。

R500 使っている人にお願いです。添付プログラムを動かしてみて、
薄い 6 色が 見えるかどうかテストしてもらえませんでしょうか?

ちなみに G----Gは、グレースケールです。これも多分 標準の Color Map の
ように思います。


 0 1 2 3 4 5 6 7
黒赤緑黄青紫水白  +0x00 (暗い)
    G---------   +0x08
----------G      +0x10


         :
         :


      赤緑黄青紫  +0xe0 (薄い)
水  G---------   +0xe8
--------------G  +0xf0
灰赤緑黄青紫水白  +0xf8 (明るい)






---- ここから
#include <sys/types.h>
#include <sys/mman.h>

#ifndef NULL
#define NULL    (void *)0
#endif

main() {
        int fd;
        int i,j,c,cc,x,y;
        char *p;

        fd = open("/dev/ttyE0",2);
        if (fd < 0) {
                perror("open\n");
                exit(1);
        }
        p = mmap(NULL, 1024* 240, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
        if (!p) {
                perror("mmap\n");
                exit(1);
        }
        for (c=0; c<256; c++) {
                cc = c;
                x = (cc / 8) * 12;
                y = (cc % 8) * 16;
                for (i=0; i<10; i++) for (j=0; j<16; j++) {
                        p[ (y + j)*1024 + x + i] = c;
                }
        }
        printf("drawing done\n");
        munmap(p,1024*256);
        close(fd);
        exit(0);
}
---- ここまで
--
					鈴木 康司 @NEC
					suz@hpc.bs1.fc.nec.co.jp
					TEL 0423-33-5381