summaryrefslogtreecommitdiff
path: root/avr/cmd_sd.c
diff options
context:
space:
mode:
Diffstat (limited to 'avr/cmd_sd.c')
-rw-r--r--avr/cmd_sd.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/avr/cmd_sd.c b/avr/cmd_sd.c
index 1612a6f..b192215 100644
--- a/avr/cmd_sd.c
+++ b/avr/cmd_sd.c
@@ -11,6 +11,7 @@
#include "eval_arg.h"
#include "print-utils.h"
#include "z80-if.h"
+#include "errnum.h"
/*
@@ -52,10 +53,8 @@ command_ret_t do_init(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * cons
dev = (BYTE) eval_arg(argv[1], NULL);
- if (disk_status(dev) & STA_NODISK) {
- printf_P(PSTR("No Disk\n"));
- return CMD_RET_FAILURE;
- }
+ if (disk_status(dev) & STA_NODISK)
+ cmd_error(CMD_RET_FAILURE, 0, PSTR("No disk"));
res = disk_initialize(dev);
printf_P(PSTR("rc=%.2x\n"), res);
@@ -154,10 +153,8 @@ command_ret_t do_dump(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * cons
for ( ; count; count--, sec++) {
res = disk_read(dev, buffer, sec, 1);
- if (res) {
- printf_P(PSTR("rc=%.2x\n"), res);
- return CMD_RET_FAILURE;
- }
+ if (res)
+ cmd_error(CMD_RET_FAILURE, 0, PSTR("rc=%.2x"), res);
sprintf_P(header, PSTR("Sector: %lu"), sec);
dump_ram(buffer, 0, FF_MAX_SS, header);
@@ -208,10 +205,9 @@ command_ret_t do_read(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * cons
for (nr = 0; nr < count;) {
nr++;
if ((res = disk_read(dev, buffer, sec, 1)) == RES_OK) {
- if (!(z80_bus_cmd(Request) & ZST_ACQUIRED)) {
- my_puts_P(PSTR("Bus timeout\n"));
- return CMD_RET_FAILURE;
- }
+ if (!(z80_bus_cmd(Request) & ZST_ACQUIRED))
+ cmd_error(CMD_RET_FAILURE, EBUSTO, NULL);
+
z80_write_block(buffer, addr /*+ base*/, FF_MAX_SS);
z80_bus_cmd(Release);
sec++; addr += FF_MAX_SS;
@@ -269,10 +265,9 @@ command_ret_t do_write(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * con
for (nr = 0; nr < count;) {
nr++;
- if (!(z80_bus_cmd(Request) & ZST_ACQUIRED)) {
- my_puts_P(PSTR("Bus timeout\n"));
- return CMD_RET_FAILURE;
- }
+ if (!(z80_bus_cmd(Request) & ZST_ACQUIRED))
+ cmd_error(CMD_RET_FAILURE, EBUSTO, NULL);
+
z80_read_block(buffer, addr /*+ base*/, FF_MAX_SS);
z80_bus_cmd(Release);