summaryrefslogtreecommitdiff
path: root/avr/cmd_boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'avr/cmd_boot.c')
-rw-r--r--avr/cmd_boot.c20
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)) {