Skip to content

Commit

Permalink
绘制一个简单的视图
Browse files Browse the repository at this point in the history
  • Loading branch information
yourtion committed Sep 10, 2014
1 parent cf4f5ed commit 9c65930
Showing 1 changed file with 22 additions and 7 deletions.
29 changes: 22 additions & 7 deletions 04_day/bootpack.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,31 @@ void boxfill8(unsigned char *vram, int xsize, unsigned char c, int x0, int y0, i

void HariMain(void)
{
char *p; /* 声明变量p、用于BYTE [...]地址 */
char *vram;/* 声明变量vram、用于BYTE [...]地址 */
int xsize, ysize;

init_palette(); /* 设定调色板 */
init_palette();/* 设定调色板 */
vram = (char *) 0xa0000;/* 地址变量赋值 */
xsize = 320;
ysize = 200;

p = (char *) 0xa0000; /* 地址变量赋值 */

/* 根据 0xa0000 + x + y * 320 计算坐标 8*/
boxfill8(p, 320, COL8_FF0000, 20, 20, 120, 120);
boxfill8(p, 320, COL8_00FF00, 70, 50, 170, 150);
boxfill8(p, 320, COL8_0000FF, 120, 80, 220, 180);
boxfill8(vram, xsize, COL8_008484, 0, 0, xsize - 1, ysize - 29);
boxfill8(vram, xsize, COL8_C6C6C6, 0, ysize - 28, xsize - 1, ysize - 28);
boxfill8(vram, xsize, COL8_FFFFFF, 0, ysize - 27, xsize - 1, ysize - 27);
boxfill8(vram, xsize, COL8_C6C6C6, 0, ysize - 26, xsize - 1, ysize - 1);

boxfill8(vram, xsize, COL8_FFFFFF, 3, ysize - 24, 59, ysize - 24);
boxfill8(vram, xsize, COL8_FFFFFF, 2, ysize - 24, 2, ysize - 4);
boxfill8(vram, xsize, COL8_848484, 3, ysize - 4, 59, ysize - 4);
boxfill8(vram, xsize, COL8_848484, 59, ysize - 23, 59, ysize - 5);
boxfill8(vram, xsize, COL8_000000, 2, ysize - 3, 59, ysize - 3);
boxfill8(vram, xsize, COL8_000000, 60, ysize - 24, 60, ysize - 3);

boxfill8(vram, xsize, COL8_848484, xsize - 47, ysize - 24, xsize - 4, ysize - 24);
boxfill8(vram, xsize, COL8_848484, xsize - 47, ysize - 23, xsize - 47, ysize - 4);
boxfill8(vram, xsize, COL8_FFFFFF, xsize - 47, ysize - 3, xsize - 4, ysize - 3);
boxfill8(vram, xsize, COL8_FFFFFF, xsize - 3, ysize - 24, xsize - 3, ysize - 3);

for (;;) {
io_hlt();
Expand Down

0 comments on commit 9c65930

Please sign in to comment.