diff options
Diffstat (limited to 'avr/cmd_boot.c')
-rw-r--r-- | avr/cmd_boot.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/avr/cmd_boot.c b/avr/cmd_boot.c index 036a041..6b98496 100644 --- a/avr/cmd_boot.c +++ b/avr/cmd_boot.c @@ -11,7 +11,6 @@ * Misc boot support */ #include "cmd_boot.h" -#include <ctype.h> #include <util/atomic.h> #include "cli_readline.h" /* console_buffer[] */ @@ -275,28 +274,24 @@ command_ret_t do_go(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int argc, } if (z80_bus_state() & ZST_RUNNING) { - printf_P(PSTR("CPU already running!\n")); - return CMD_RET_FAILURE; + cmd_error(CMD_RET_FAILURE, ERUNNING, NULL); } printf_P(PSTR("Starting application at 0x%04lx ...\n"), addr); if (addr != 0) { - uint8_t tmp[3]; +// uint8_t tmp[3]; - z80_bus_cmd(Request); - z80_read_block (tmp, 0, 3); + z80_bus_request_or_exit(); +// z80_read_block (tmp, 0, 3); z80_write(0, 0xc3); z80_write(1, addr); z80_write(2, (addr >> 8)); + z80_bus_cmd(Release); + _delay_ms(100); z80_bus_cmd(Run); - _delay_us(10); - z80_bus_cmd(M_Cycle); - _delay_us(10); - z80_bus_cmd(M_Cycle); - _delay_us(10); - z80_write_block(tmp, 0, 3); +// z80_write_block(tmp, 0, 3); } else { if (!hold) z80_bus_cmd(Request); @@ -383,6 +378,7 @@ command_ret_t do_console(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int case 2: my_puts_P(PSTR("\n" "------------------------------------------------\n")); + /* FALL TROUGH */ case 1: state = 0; switch (toupper(ch)) { |