あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

4日目あたり

パレットの初期化とかやってます。とりあえずソースを流用してパレット番号16〜231を埋めるコードとOSAkkieカラーを入れておきました。
ところで、set_paletteでio_cli()した後に、io_stiして無いんだけど、これでよかったんだっけ。誤字訂正になかったから正しいらしいとなると、io_store_eflags(eflags);で何とかなってるのかな。

void set_palette(int start, int end, unsigned char *rgb)
{
	int i, eflags;
	eflags = io_load_eflags();	/* 割り込み許可フラグの値を記録する */
	io_cli(); 					/* 許可フラグを0にして割り込み禁止にする */
	io_out8(0x03c8, start);
	for (i = start; i <= end; i++) {
		(略)
	}
	io_store_eflags(eflags);	/* 割り込み許可フラグを元に戻す */
	return;
}

さて、ここで一気に多色化対応したらどうなるだろうかなあ。OSAkkieではパレットとの変換とかでむやみやたらに苦しんでいたので、早いうちに手を打てばいいような気がして。