さて、WonderSwanColorはFF同梱版を無事、買う事ができた。で、
カラー対応ライブラリのβ版もダウンロードした。
でも、やっぱり、会社で弄り倒す日々が続く。
さしあたって、「爆弾男(仮名)」をカラー対応にする。色数が
少なくなるが、互換モードがあるので、それなりにすぐ終る。
で、妙な事に気づいた。なぜか、ボーダーカラーの設定が無視さ
れている……、様な気がする。
と、言うか、明らかに無視されてるじゃん。
取り敢えず、検証プログラムを組む。なぜか、ボーダーカラーが
ちゃんと変更される時もある。
さらに、検証プログラムを組む。うむ。ばっちし、正常動作しな
い、正常なプログラムができた。
01:#include <sys/bios.h>
02:#include <sys/libwwc.h>
03:
04:#define RGB(r, g, b) (((unsigned)r << 8) | ((unsigned)g << 4) | (unsigned)b)
05:
06:int main(int argc, char *args[])
07:{
08: int i;
09:
10: if(wwc_get_hardarch() != HARDARCH_WSC)
11: return -1;
12:
13: wwc_set_color_mode(COLOR_MODE_4COLOR);
14:
15:// sys_wait(0);
16:
17: wwc_palette_set_color(0, 0, RGB(0xFF, 0x00, 0x00));
18: wwc_palette_set_color(1, 0, RGB(0x00, 0x00, 0x00));
19:
20: for(i = 0; i < 2; i++){
21: display_control(0x1000);
22:
23: key_wait();
24: }
25:
26: wwc_set_color_mode(COLOR_MODE_GRAYSCALE);
27:
28: return 0;
29:}
検証プログラムはこんな感じ。実行すると、画面が赤くなり、何
かキーを押すと黒くなる。
15行目のコメントにしてる部分を外すと、画面が赤くなる事は無
くなる。現象としては、wwc_set_color_mode実行直後の
display_controlのボーダーカラーの設定が無視されると言う物。
取り敢えず、これは仕様かもしれないし、バグかもしれない。さ
らには、うちでのみ起こる現象かもしれないので放置。まぁ、バグ
だとしたら、正式なリリース版で治るだろう。
治りませんでした。
|