diff --git a/applications/serial/main.asm b/applications/serial/main.asm index 43274f8..6dcd45a 100644 --- a/applications/serial/main.asm +++ b/applications/serial/main.asm @@ -1,10 +1,18 @@ ; serial terminal - spawn sh.fxf on the serial port ; start an instance of sh.fxf - call get_unused_task_id + call get_current_disk_id + mov r1, r0 + mov r0, sh_fxf_name + mov r2, stream_struct + mov r3, 0 + mov r4, 0 + mov r5, 0 + mov r6, 0 + call launch_fxf_from_disk + cmp r0, 0xFFFFFFFF + ifz call end_current_task mov.8 [shell_task_id], r0 - mov r1, stream_struct - call new_shell_task event_loop: movz.8 r0, [shell_task_id] @@ -37,6 +45,7 @@ stream_struct: data.32 stream_write shell_task_id: data.8 0 +sh_fxf_name: data.strz "sh.fxf" stream_read: in r0, 0 @@ -56,7 +65,5 @@ stream_write_special: pop r0 ret - -#include "../terminal/task.asm" -#include "../../../fox32rom/fox32rom.def" -#include "../../fox32os.def" + #include "../../../fox32rom/fox32rom.def" + #include "../../fox32os.def"