struct SHEET *open_console(struct SHTCTL *shtctl, unsigned int memtotal) { struct MEMMAN *memman = (struct MEMMAN *) MEMMAN_ADDR; struct SHEET *sht = sheet_alloc(shtctl); unsigned char *buf = (unsigned char *) memman_alloc_4k(memman, 256 * 165); sheet_setbuf(sht, buf, 256, 165, -1); /* 透明色なし */ make_window8(buf, 256, 165, "console", 0); make_textbox8(sht, 8, 28, 240, 128, COL8_000000); sht->task = open_constask(sht, memtotal); sht->flags |= 0x20; /* カーソルあり */ return sht; }
void cmd_ncst(struct CONSOLE *cons, char *cmdline, int memtotal) { struct TASK *task = open_constask(0, memtotal); struct FIFO32 *fifo = &task->fifo; int i; /* コマンドラインに入力された文字列を、一文字ずつ新しいコンソールに入力 */ for (i = 5; cmdline[i] != 0; i++) { fifo32_put(fifo, cmdline[i] + 256); } fifo32_put(fifo, 10 + 256); /* Enter */ cons_newline(cons); return; }
void cmd_ncst(struct CONSOLE *cons, char *cmdline, int memtotal) { struct TASK *task = open_constask(0, memtotal); struct FIFO32 *fifo = &task->fifo; int i; /* Ŀ�ǵ� ���ο� �Էµ� ���ڿ���, �� ���ھ� ���ο� �ֿܼ� �Է� */ for (i = 5; cmdline[i] != 0; i++) { fifo32_put(fifo, cmdline[i] + 256); } fifo32_put(fifo, 10 + 256); /* Enter */ cons_newline(cons); return; }