mirror of
https://github.com/yourtion/30dayMakeOS.git
synced 2026-02-03 01:53:24 +08:00
通过指针取值
This commit is contained in:
@@ -51,34 +51,34 @@ void HariMain(void)
|
||||
void init_palette(void)
|
||||
{
|
||||
static unsigned char table_rgb[16 * 3] = {
|
||||
0x00, 0x00, 0x00, /* 0:黒 */
|
||||
0xff, 0x00, 0x00, /* 1:明るい赤 */
|
||||
0x00, 0xff, 0x00, /* 2:明るい緑 */
|
||||
0xff, 0xff, 0x00, /* 3:明るい黄色 */
|
||||
0x00, 0x00, 0xff, /* 4:明るい青 */
|
||||
0xff, 0x00, 0xff, /* 5:明るい紫 */
|
||||
0x00, 0xff, 0xff, /* 6:明るい水色 */
|
||||
0xff, 0xff, 0xff, /* 7:白 */
|
||||
0xc6, 0xc6, 0xc6, /* 8:明るい灰色 */
|
||||
0x84, 0x00, 0x00, /* 9:暗い赤 */
|
||||
0x00, 0x84, 0x00, /* 10:暗い緑 */
|
||||
0x84, 0x84, 0x00, /* 11:暗い黄色 */
|
||||
0x00, 0x00, 0x84, /* 12:暗い青 */
|
||||
0x84, 0x00, 0x84, /* 13:暗い紫 */
|
||||
0x00, 0x84, 0x84, /* 14:暗い水色 */
|
||||
0x84, 0x84, 0x84 /* 15:暗い灰色 */
|
||||
0x00, 0x00, 0x00, /* 0:<EFBFBD><EFBFBD> */
|
||||
0xff, 0x00, 0x00, /* 1:<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD><EFBFBD> */
|
||||
0x00, 0xff, 0x00, /* 2:<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD><EFBFBD> */
|
||||
0xff, 0xff, 0x00, /* 3:<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD><EFBFBD><EFBFBD>F */
|
||||
0x00, 0x00, 0xff, /* 4:<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD><EFBFBD> */
|
||||
0xff, 0x00, 0xff, /* 5:<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD><EFBFBD> */
|
||||
0x00, 0xff, 0xff, /* 6:<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD><EFBFBD><EFBFBD>F */
|
||||
0xff, 0xff, 0xff, /* 7:<EFBFBD><EFBFBD> */
|
||||
0xc6, 0xc6, 0xc6, /* 8:<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD>D<EFBFBD>F */
|
||||
0x84, 0x00, 0x00, /* 9:<EFBFBD>Â<EFBFBD><EFBFBD><EFBFBD> */
|
||||
0x00, 0x84, 0x00, /* 10:<EFBFBD>Â<EFBFBD><EFBFBD><EFBFBD> */
|
||||
0x84, 0x84, 0x00, /* 11:<EFBFBD>Â<EFBFBD><EFBFBD><EFBFBD><EFBFBD>F */
|
||||
0x00, 0x00, 0x84, /* 12:<EFBFBD>Â<EFBFBD><EFBFBD><EFBFBD> */
|
||||
0x84, 0x00, 0x84, /* 13:<EFBFBD>Â<EFBFBD><EFBFBD><EFBFBD> */
|
||||
0x00, 0x84, 0x84, /* 14:<EFBFBD>Â<EFBFBD><EFBFBD><EFBFBD><EFBFBD>F */
|
||||
0x84, 0x84, 0x84 /* 15:<EFBFBD>Â<EFBFBD><EFBFBD>D<EFBFBD>F */
|
||||
};
|
||||
set_palette(0, 15, table_rgb);
|
||||
return;
|
||||
|
||||
/* static char 命令は、データにしか使えないけどDB命令相当 */
|
||||
/* static char <EFBFBD><EFBFBD><EFBFBD>߂́A<EFBFBD>f<EFBFBD>[<5B>^<5E>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>g<EFBFBD><67><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD>DB<44><42><EFBFBD>ߑ<EFBFBD><DF91><EFBFBD> */
|
||||
}
|
||||
|
||||
void set_palette(int start, int end, unsigned char *rgb)
|
||||
{
|
||||
int i, eflags;
|
||||
eflags = io_load_eflags(); /* 割り込み許可フラグの値を記録する */
|
||||
io_cli(); /* 許可フラグを0にして割り込み禁止にする */
|
||||
eflags = io_load_eflags(); /* <EFBFBD><EFBFBD><EFBFBD>荞<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>̒l<EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>^<5E><><EFBFBD><EFBFBD> */
|
||||
io_cli(); /* <EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><EFBFBD>0<EFBFBD>ɂ<EFBFBD><EFBFBD>Ċ<EFBFBD><EFBFBD>荞<EFBFBD>֎~<7E>ɂ<EFBFBD><C982><EFBFBD> */
|
||||
io_out8(0x03c8, start);
|
||||
for (i = start; i <= end; i++) {
|
||||
io_out8(0x03c9, rgb[0] / 4);
|
||||
@@ -86,7 +86,7 @@ void set_palette(int start, int end, unsigned char *rgb)
|
||||
io_out8(0x03c9, rgb[2] / 4);
|
||||
rgb += 3;
|
||||
}
|
||||
io_store_eflags(eflags); /* 割り込み許可フラグを元に戻す */
|
||||
io_store_eflags(eflags); /* <EFBFBD><EFBFBD><EFBFBD>荞<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɖ߂<EFBFBD> */
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user