hdrom_address[sec]+hdrom_length_of_sections[sec] - 1,
hdrom_length_of_sections[sec]);
- zstate_t state = z80_request_bus_save();
+ z80_bus_cmd(Request);
z80_write_block((const FLASH unsigned char *) &hdrom[sec_base], /* src */
hdrom_address[sec], /* dest */
hdrom_length_of_sections[sec]); /* len */
- z80_release_bus_save(state);
+ z80_bus_cmd(Release);
sec_base+=hdrom_length_of_sections[sec];
sec++;
}
}
-int do_loadf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_loadf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
(void) cmdtp; (void) flag; (void) argc; (void) argv;
- if (z80_runstate() & ZST_RUNNING) {
+ if (z80_bus_state() & ZST_RUNNING) {
printf_P(PSTR("## Can't load while CPU is running!\n"));
- return 1;
+ return CMD_RET_FAILURE;
}
z80_load_mem();
- return 0;
+ return CMD_RET_SUCCESS;
}
-int do_busreq_pulse(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_busreq_pulse(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
uint16_t count=1;
(void) cmdtp; (void) flag;
- if (!(z80_runstate() & ZST_RUNNING)) {
+ if (!(z80_bus_state() & ZST_RUNNING)) {
printf_P(PSTR("## CPU is not running!\n"));
- return 1;
+ return CMD_RET_FAILURE;
}
if (argc > 1)
count = (uint16_t) strtoul(argv[2], NULL, 16);
- z80_request_bus();
+ z80_bus_cmd(Request);
while (count--)
- z80_busreq_hpulse();
+ z80_bus_cmd(M_Cycle);
- return 0;
+ return CMD_RET_SUCCESS;
}
-int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
uint32_t addr;
printf_P(PSTR("## Startaddress 0x%05lx too high.\n"
" (Out of logical address space (0x00000-0x0ffff))\n"),
addr);
- return 1;
+ return CMD_RET_FAILURE;
}
- if (z80_runstate() & ZST_RUNNING) {
+ if (z80_bus_state() & ZST_RUNNING) {
printf_P(PSTR("## CPU allready running!\n"));
- return 1;
+ return CMD_RET_FAILURE;
}
printf_P(PSTR("## Starting application at 0x%04lx ...\n"), addr);
uint8_t tmp[3];
uint_fast8_t i;
- z80_request_bus();
+ z80_bus_cmd(Request);
for (i = 0; i < 3; i++)
tmp[i] = z80_read(i);
z80_write(0, 0xc3);
z80_write(1, addr);
z80_write(2, (addr >> 8));
- z80_run();
- z80_busreq_hpulse();
- z80_busreq_hpulse();
+ z80_bus_cmd(Run);
+ z80_bus_cmd(M_Cycle);
+ z80_bus_cmd(M_Cycle);
for (i = 0; i < 3; i++)
z80_write(i, tmp[i]);
} else
- z80_run();
+ z80_bus_cmd(Run);
- z80_release_bus();
+ z80_bus_cmd(Release);
- return 0;
+ return CMD_RET_SUCCESS;
}
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
(void) cmdtp; (void) flag; (void) argc; (void) argv;
printf_P(PSTR("## CPU now in reset state.\n"));
- z80_reset();
- return 0;
+ z80_bus_cmd(Reset);
+ return CMD_RET_SUCCESS;
}
-int do_restart(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_restart(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
(void) cmdtp; (void) flag; (void) argc; (void) argv;
- z80_reset_pulse();
+ z80_bus_cmd(Restart);
- return 0;
+ return CMD_RET_SUCCESS;
}