[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