dateコマンドと、resetコマンドを追加。中身は言わなくてもわかりますよね…
@@ -105,7 +105,7 @@ | ||
105 | 105 | |
106 | 106 | void cons_command_start(struct WINDOWINFO *win, struct POSITION_2D *prompt, struct POSITION_2D *cursor, unsigned char *cmdline, unsigned int *cmdlines, bool *cmdline_overflow) |
107 | 107 | { |
108 | - unsigned char s[128]; | |
108 | + unsigned char s[128], t[7]; | |
109 | 109 | int i, j; |
110 | 110 | unsigned char *p; |
111 | 111 |
@@ -140,6 +140,12 @@ | ||
140 | 140 | } |
141 | 141 | } |
142 | 142 | } |
143 | + } else if(strcmp(cmdline, "reset") == 0){ | |
144 | + reset_cpu(); | |
145 | + } else if(strcmp(cmdline, "date") == 0){ | |
146 | + readrtc(t); | |
147 | + sprintf(s, "%02X%02X.%02X.%02X %02X:%02X:%02X\n", t[6], t[5], t[4], t[3], t[2], t[1], t[0]); | |
148 | + cons_put_str(win, prompt, cursor, s); | |
143 | 149 | } else if(strncmp(cmdline, "type ", 5) == 0){ |
144 | 150 | for(j = 0; j < 11; j++){ |
145 | 151 | s[j] = ' '; |
@@ -77,3 +77,11 @@ | ||
77 | 77 | return; |
78 | 78 | } |
79 | 79 | |
80 | +void reset_cpu(void) | |
81 | +{ | |
82 | + wait_KBC_sendready(); | |
83 | + io_out8(PORT_KEYCMD, 0xfe); | |
84 | + for (;;) { io_hlt(); } | |
85 | +} | |
86 | + | |
87 | + |
@@ -480,6 +480,7 @@ | ||
480 | 480 | void send_serial(unsigned char *s); |
481 | 481 | void fdc_motor_on(unsigned char d); |
482 | 482 | void fdc_motor_off(unsigned char d); |
483 | +void reset_cpu(void); | |
483 | 484 | |
484 | 485 | /*timer.c*/ |
485 | 486 | void inthandler20(int *esp); |