mirror of
https://github.com/yourtion/30dayMakeOS.git
synced 2026-02-05 02:53:19 +08:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37eb729596 | ||
|
|
6da34e7cbe |
@@ -12,7 +12,7 @@ void HariMain(void)
|
||||
struct FIFO8 timerfifo, timerfifo2, timerfifo3;
|
||||
char s[40], keybuf[32], mousebuf[128], timerbuf[8], timerbuf2[8], timerbuf3[8];
|
||||
struct TIMER *timer, *timer2, *timer3;
|
||||
int mx, my, i;
|
||||
int mx, my, i, count = 0;
|
||||
unsigned int memtotal;
|
||||
struct MOUSE_DEC mdec;
|
||||
struct MEMMAN *memman = (struct MEMMAN *) MEMMAN_ADDR;
|
||||
@@ -29,18 +29,16 @@ void HariMain(void)
|
||||
io_out8(PIC0_IMR, 0xf8); /* PIT和PIC1和键盘设置为许可(11111000) */
|
||||
io_out8(PIC1_IMR, 0xef); /* 开放鼠标中断(11101111) */
|
||||
|
||||
fifo8_init(&timerfifo, 8, timerbuf);
|
||||
timer = timer_alloc();
|
||||
timer_init(timer, &timerfifo, 1);
|
||||
timer_settime(timer, 1000);
|
||||
fifo8_init(&timerfifo2, 8, timerbuf2);
|
||||
timer2 = timer_alloc();
|
||||
timer_init(timer2, &timerfifo2, 1);
|
||||
timer_settime(timer2, 300);
|
||||
fifo8_init(&timerfifo3, 8, timerbuf3);
|
||||
timer3 = timer_alloc();
|
||||
timer_init(timer3, &timerfifo3, 1);
|
||||
timer_settime(timer3, 50);
|
||||
fifo8_init(&timerfifo, 8, timerbuf);
|
||||
timer = timer_alloc();
|
||||
timer_init(timer, &timerfifo, 10);
|
||||
timer_settime(timer, 1000);
|
||||
timer2 = timer_alloc();
|
||||
timer_init(timer2, &timerfifo, 3);
|
||||
timer_settime(timer2, 300);
|
||||
timer3 = timer_alloc();
|
||||
timer_init(timer3, &timerfifo, 1);
|
||||
timer_settime(timer3, 50);
|
||||
|
||||
init_keyboard();
|
||||
enable_mouse(&mdec);
|
||||
@@ -77,12 +75,10 @@ void HariMain(void)
|
||||
putfonts8_asc_sht(sht_back, 0, 32, COL8_FFFFFF, COL8_008484, s, 40);
|
||||
|
||||
for (;;) {
|
||||
sprintf(s, "%010d", timerctl.count);
|
||||
putfonts8_asc_sht(sht_win, 40, 28, COL8_000000, COL8_C6C6C6, s, 10);
|
||||
count++;
|
||||
|
||||
io_cli();
|
||||
if (fifo8_status(&keyfifo) + fifo8_status(&mousefifo) + fifo8_status(&timerfifo)
|
||||
+ fifo8_status(&timerfifo2) + fifo8_status(&timerfifo3) == 0) {
|
||||
if (fifo8_status(&keyfifo) + fifo8_status(&mousefifo) + fifo8_status(&timerfifo) == 0) {
|
||||
io_sti();
|
||||
} else {
|
||||
if (fifo8_status(&keyfifo) != 0) {
|
||||
@@ -126,25 +122,27 @@ void HariMain(void)
|
||||
sheet_slide(sht_mouse, mx, my);/* 包含sheet_refresh含sheet_refresh */
|
||||
}
|
||||
} else if (fifo8_status(&timerfifo) != 0) {
|
||||
i = fifo8_get(&timerfifo); /* 首先读入(为了设定起始点) */
|
||||
i = fifo8_get(&timerfifo); /*超时的是哪个呢? */
|
||||
io_sti();
|
||||
putfonts8_asc_sht(sht_back, 0, 64, COL8_FFFFFF, COL8_008484, "10[sec]", 7);
|
||||
} else if (fifo8_status(&timerfifo2) != 0) {
|
||||
i = fifo8_get(&timerfifo2); /* 首先读入(为了设定起始点) */
|
||||
io_sti();
|
||||
putfonts8_asc_sht(sht_back, 0, 80, COL8_FFFFFF, COL8_008484, "3[sec]", 6);
|
||||
} else if (fifo8_status(&timerfifo3) != 0) {
|
||||
i = fifo8_get(&timerfifo3);
|
||||
io_sti();
|
||||
if (i != 0) {
|
||||
timer_init(timer3, &timerfifo3, 0); /* 然后设置0 */
|
||||
boxfill8(buf_back, binfo->scrnx, COL8_FFFFFF, 8, 96, 15, 111);
|
||||
if (i == 10) {
|
||||
putfonts8_asc_sht(sht_back, 0, 64, COL8_FFFFFF, COL8_008484, "10[sec]", 7);
|
||||
sprintf(s, "%010d", count);
|
||||
putfonts8_asc_sht(sht_win, 40, 28, COL8_000000, COL8_C6C6C6, s, 10);
|
||||
} else if (i == 3) {
|
||||
count = 0; /* 开始测定 */
|
||||
putfonts8_asc_sht(sht_back, 0, 80, COL8_FFFFFF, COL8_008484, "3[sec]", 6);
|
||||
} else {
|
||||
timer_init(timer3, &timerfifo3, 1); /* 然后设置1 */
|
||||
boxfill8(buf_back, binfo->scrnx, COL8_008484, 8, 96, 15, 111);
|
||||
/* 0还是1 */
|
||||
if (i != 0) {
|
||||
timer_init(timer3, &timerfifo, 0); /*下面是设定为0 */
|
||||
boxfill8(buf_back, binfo->scrnx, COL8_FFFFFF, 8, 96, 15, 111);
|
||||
} else {
|
||||
timer_init(timer3, &timerfifo, 1); /*下面是设定为1*/
|
||||
boxfill8(buf_back, binfo->scrnx, COL8_008484, 8, 96, 15, 111);
|
||||
}
|
||||
timer_settime(timer3, 50);
|
||||
sheet_refresh(sht_back, 8, 96, 16, 112);
|
||||
}
|
||||
timer_settime(timer3, 50);
|
||||
sheet_refresh(sht_back, 8, 96, 16, 112);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user