Can return from fun recovery :3
This commit is contained in:
parent
8c5247c317
commit
1ac79d005b
13
kernel.c
13
kernel.c
@ -157,17 +157,17 @@ void error_environment(uint32_t stack0, uint32_t stack1, uint32_t stack2, uint32
|
|||||||
vga_text[i] = error_screen[i];
|
vga_text[i] = error_screen[i];
|
||||||
for(;;) {
|
for(;;) {
|
||||||
uint8_t key = get_scancode() & 0xff;
|
uint8_t key = get_scancode() & 0xff;
|
||||||
if (key == KEY_E) break;
|
if (key == KEY_E) {
|
||||||
if (key == KEY_R) {
|
v86_entry = i386LinearToFp(v86TransFlag);
|
||||||
|
enter_v86(0x8000, 0xFF00, FP_SEG(v86_entry), FP_OFF(v86_entry), ®s);
|
||||||
|
}
|
||||||
|
if (key == KEY_R) break;
|
||||||
|
}
|
||||||
// reset error screen
|
// reset error screen
|
||||||
for (int i = 0; i < (80*50)/2; i++)
|
for (int i = 0; i < (80*50)/2; i++)
|
||||||
((uint32_t*)error_screen)[i] = 0x0f000f00;
|
((uint32_t*)error_screen)[i] = 0x0f000f00;
|
||||||
return_prev_task();
|
return_prev_task();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
v86_entry = i386LinearToFp(v86TransFlag);
|
|
||||||
enter_v86(0x8000, 0xFF00, FP_SEG(v86_entry), FP_OFF(v86_entry), ®s);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t GetFreeStack() {
|
uint32_t GetFreeStack() {
|
||||||
uint32_t stack;
|
uint32_t stack;
|
||||||
@ -326,6 +326,7 @@ void FileSelect() {
|
|||||||
break;
|
break;
|
||||||
case KEY_F4:
|
case KEY_F4:
|
||||||
create_child(GetFreeStack(), (uintptr_t)RunTests, 0);
|
create_child(GetFreeStack(), (uintptr_t)RunTests, 0);
|
||||||
|
SetVideo25Lines();
|
||||||
SetCursorDisabled();
|
SetCursorDisabled();
|
||||||
reload = 1;
|
reload = 1;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user