diff --git a/monitor/commands/commands.asm b/monitor/commands/commands.asm index 70ad765..9a6b4d8 100644 --- a/monitor/commands/commands.asm +++ b/monitor/commands/commands.asm @@ -42,6 +42,7 @@ monitor_shell_parse_command: ; invalid command mov r0, monitor_shell_invalid_command_string call print_string_to_monitor + call redraw_monitor_console ret diff --git a/monitor/commands/help.asm b/monitor/commands/help.asm index dd15cb2..cc1980c 100644 --- a/monitor/commands/help.asm +++ b/monitor/commands/help.asm @@ -5,6 +5,7 @@ monitor_shell_help_command_string: data.str "help" data.8 0 monitor_shell_help_command: mov r0, monitor_shell_help_text call print_string_to_monitor + call redraw_monitor_console ret monitor_shell_help_text: diff --git a/monitor/commands/jump.asm b/monitor/commands/jump.asm index 6cad727..d5dd08d 100644 --- a/monitor/commands/jump.asm +++ b/monitor/commands/jump.asm @@ -11,4 +11,6 @@ monitor_shell_jump_command: call r0 + call redraw_monitor_console + ret diff --git a/monitor/commands/list.asm b/monitor/commands/list.asm index 5fba87e..936b151 100644 --- a/monitor/commands/list.asm +++ b/monitor/commands/list.asm @@ -64,6 +64,8 @@ monitor_shell_list_command_ascii_loop_done: call print_character_to_monitor loop monitor_shell_list_command_line_loop + call redraw_monitor_console + ret monitor_shell_list_text: data.str "address | x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF | ASCII" data.8 10 data.8 0 diff --git a/monitor/commands/set.asm b/monitor/commands/set.asm index cbec782..e091813 100644 --- a/monitor/commands/set.asm +++ b/monitor/commands/set.asm @@ -71,4 +71,6 @@ monitor_shell_set32_command: mov [r10], r11 + call redraw_monitor_console + ret diff --git a/monitor/console.asm b/monitor/console.asm index 91952b5..8990888 100644 --- a/monitor/console.asm +++ b/monitor/console.asm @@ -14,7 +14,6 @@ print_string_to_monitor_loop: inc r3 cmp.8 [r3], 0x00 ifnz jmp print_string_to_monitor_loop - call redraw_monitor_console_line pop r3 pop r0 ret @@ -41,7 +40,6 @@ print_hex_word_to_monitor_loop: call print_character_to_monitor add r1, r6 loop print_hex_word_to_monitor_loop - call redraw_monitor_console_line pop r31 pop r12 @@ -71,7 +69,6 @@ print_hex_byte_to_monitor_loop: call print_character_to_monitor add r1, r6 loop print_hex_byte_to_monitor_loop - call redraw_monitor_console_line pop r31 pop r12 @@ -180,9 +177,6 @@ scroll_monitor_console_clear_loop: inc r0 loop scroll_monitor_console_clear_loop - ; redraw the screen - call redraw_monitor_console - pop r31 pop r2 pop r1 diff --git a/monitor/shell.asm b/monitor/shell.asm index 48df72f..2d89f63 100644 --- a/monitor/shell.asm +++ b/monitor/shell.asm @@ -5,6 +5,7 @@ monitor_shell_start: call monitor_shell_clear_buffer mov r0, monitor_shell_prompt call print_string_to_monitor + call redraw_monitor_console monitor_shell_event_loop: call get_next_event @@ -73,6 +74,7 @@ monitor_shell_key_down_event_enter: mov r0, monitor_shell_prompt call print_string_to_monitor + call redraw_monitor_console ret monitor_shell_key_down_event_backspace: ; check if we are already at the start of the prompt