Signal halt properly.
diff --git a/init.c b/init.c
index d8b9b4c..4973756 100644
--- a/init.c
+++ b/init.c
@@ -211,5 +211,7 @@
uart_init ();
uart_puts (COM1, "Hello, World!\n");
- while (1) ;
+ if (kernel_entry)
+ kernel_entry();
+ asm ("halt");
}
diff --git a/pal.S b/pal.S
index a570293..b31b63e 100644
--- a/pal.S
+++ b/pal.S
@@ -399,6 +399,14 @@
CallPal_Halt:
bsr p7, UpdatePCB // Save kernel data
lda v0, HLT_K_SW_HALT
+
+ ldah p0, 1 // Store 0xdead into CIA RESET reg
+ lda p0, -(0x10000 - 0xdead)(p0)
+ lda p1, 0x878
+ sll p1, 28, p1
+ lda p1, 0x900(p1)
+ stl_p p0, 0(p1)
+
br Sys_EnterConsole
/*