summaryrefslogtreecommitdiff
path: root/avr/cmd_mem.c
diff options
context:
space:
mode:
authorLeo C2014-08-20 14:01:11 +0200
committerLeo C2014-08-20 14:01:11 +0200
commitd0581f881c4072ef0ac453167a98dc3bc0d87d86 (patch)
tree0aa6c87d8e0184e7a884171cb5b30275283156ad /avr/cmd_mem.c
parent4bc81323e51ac138e733c14eeb6f283ae706e904 (diff)
downloadz180-stamp-d0581f881c4072ef0ac453167a98dc3bc0d87d86.zip
enum command_ret_t --> typedef
Diffstat (limited to 'avr/cmd_mem.c')
-rw-r--r--avr/cmd_mem.c194
1 files changed, 97 insertions, 97 deletions
diff --git a/avr/cmd_mem.c b/avr/cmd_mem.c
index 253f02f..6341e0b 100644
--- a/avr/cmd_mem.c
+++ b/avr/cmd_mem.c
@@ -30,8 +30,6 @@
#define CONFIG_SYS_MEMTEST_SCRATCH 0
#endif
-static int mod_mem(cmd_tbl_t *, int, int, int, char * const []);
-
/* Display values from last command.
* Memory modify remembered values are different from display memory.
*/
@@ -116,7 +114,7 @@ int z180_dump_mem(uint32_t startaddr, uint32_t len, const char *title)
* Syntax:
* md {addr} {len}
*/
-int do_mem_md(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_md(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
uint32_t addr, length;
@@ -154,19 +152,89 @@ int do_mem_md(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
dp_last_addr = addr + length;
dp_last_length = length;
- return 0;
+ return CMD_RET_SUCCESS;
}
-int do_mem_mm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+/* Modify memory.
+ *
+ * Syntax:
+ * mm {addr}
+ * nm {addr}
+ */
+static command_ret_t
+mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
+{
+ uint32_t addr;
+ uint8_t data;
+ int nbytes;
+
+ (void) cmdtp;
+
+ if (argc != 2)
+ return CMD_RET_USAGE;
+
+ /* We use the last specified parameters, unless new ones are
+ * entered.
+ */
+ addr = mm_last_addr;
+
+ if ((flag & CMD_FLAG_REPEAT) == 0) {
+ /* New command specified.
+ */
+
+ /* Address is specified since argc > 1
+ */
+ addr = strtoul(argv[1], NULL, 16);
+ addr += base_address;
+ }
+
+ /* Print the address, followed by value. Then accept input for
+ * the next value. A non-converted value exits.
+ */
+ do {
+ z80_bus_cmd(Request);
+ data = z80_read(addr);
+ printf("%05lx: %02x", addr, data);
+ z80_bus_cmd(Release);
+
+ nbytes = cli_readline(PSTR(" ? "));
+ if (nbytes == 0 || (nbytes == 1 && console_buffer[0] == '-')) {
+ /* <CR> pressed as only input, don't modify current
+ * location and move to next. "-" pressed will go back.
+ */
+ if (incrflag)
+ addr += nbytes ? -1 : 1;
+ nbytes = 1;
+ }
+ else {
+ char *endp;
+ data = strtoul(console_buffer, &endp, 16);
+ nbytes = endp - console_buffer;
+ if (nbytes) {
+ z80_bus_cmd(Request);
+ z80_write(addr, data);
+ z80_bus_cmd(Release);
+ if (incrflag)
+ addr++;
+ }
+ }
+ } while (nbytes);
+
+ mm_last_addr = addr;
+ return CMD_RET_SUCCESS;
+}
+
+
+command_ret_t do_mem_mm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
return mod_mem (cmdtp, 1, flag, argc, argv);
}
-int do_mem_nm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_nm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
return mod_mem (cmdtp, 0, flag, argc, argv);
}
-int do_mem_mw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_mw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
uint8_t writeval;
uint32_t addr, count;
@@ -200,11 +268,11 @@ int do_mem_mw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
}
z80_bus_cmd(Release);
- return 0;
+ return CMD_RET_SUCCESS;
}
#ifdef CONFIG_MX_CYCLIC
-int do_mem_mdc ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_mdc ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
int i;
uint32_t count;
@@ -225,14 +293,14 @@ int do_mem_mdc ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
/* check for ctrl-c to abort... */
if (ctrlc()) {
my_puts("Abort\n");
- return 0;
+ return CMD_RET_SUCCESS;
}
}
- return 0;
+ return CMD_RET_SUCCESS;
}
-int do_mem_mwc ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_mwc ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
int i;
uint32_t count;
@@ -253,18 +321,18 @@ int do_mem_mwc ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
/* check for ctrl-c to abort... */
if (ctrlc()) {
my_puts("Abort\n");
- return 0;
+ return CMD_RET_SUCCESS;
}
}
- return 0;
+ return CMD_RET_SUCCESS;
}
#endif /* CONFIG_MX_CYCLIC */
-int do_mem_cmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_cmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
uint32_t addr1, addr2, count, ngood;
- int rcode = 0;
+ command_ret_t rcode = CMD_RET_SUCCESS;
uint8_t byte1, byte2;
(void) cmdtp;
@@ -289,7 +357,7 @@ int do_mem_cmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
printf( "byte at 0x%05lx (%#02x) != "
"byte at 0x%05lx (%#02x)\n",
addr1, byte1, addr2, byte2);
- rcode = 1;
+ rcode = CMD_RET_FAILURE;
break;
}
addr1++;
@@ -298,7 +366,7 @@ int do_mem_cmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
/* check for ctrl-c to abort... */
if (ctrlc()) {
my_puts("Abort\n");
- return 0;
+ return CMD_RET_SUCCESS;
}
}
@@ -306,7 +374,7 @@ int do_mem_cmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return rcode;
}
-int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
uint32_t src, dest, count;
int_fast8_t step;
@@ -325,7 +393,7 @@ int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (count == 0) {
my_puts ("Zero length ???\n");
- return 1;
+ return CMD_RET_FAILURE;
}
if (dest > src) {
@@ -347,13 +415,13 @@ int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
/* check for ctrl-c to abort... */
if (ctrlc()) {
my_puts("Abort\n");
- return 0;
+ return CMD_RET_SUCCESS;
}
}
- return 0;
+ return CMD_RET_SUCCESS;
}
-int do_mem_base(cmd_tbl_t *cmdtp, int flag, int argc,
+command_ret_t do_mem_base(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
{
(void) cmdtp;
@@ -365,10 +433,10 @@ int do_mem_base(cmd_tbl_t *cmdtp, int flag, int argc,
}
/* Print the current base address. */
printf("Base Address: 0x%05lx\n", base_address);
- return 0;
+ return CMD_RET_SUCCESS;
}
-int do_mem_loop(cmd_tbl_t *cmdtp, int flag, int argc,
+command_ret_t do_mem_loop(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
{
uint32_t addr, length;
@@ -405,11 +473,11 @@ int do_mem_loop(cmd_tbl_t *cmdtp, int flag, int argc,
}
z80_bus_cmd(Release);
- return 0;
+ return CMD_RET_SUCCESS;
}
#ifdef CONFIG_LOOPW
-int do_mem_loopw (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_mem_loopw (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
uint32_t addr, length;
uint8_t data;
@@ -730,12 +798,13 @@ static uint32_t mem_test_quick(vu_long *buf, uint32_t start_addr, uint32_t end_a
* configured using CONFIG_SYS_ALT_MEMTEST. The complete test loops until
* interrupted by ctrl-c or by a failure of one of the sub-tests.
*/
-int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc,
+command_ret_t do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
{
uint32_t start, end;
vu_long *buf, *dummy;
int iteration_limit;
+/* TODO: command_ret_t */
int ret;
uint32_t errs = 0; /* number of errors, or -1 if interrupted */
uint32_t pattern;
@@ -807,72 +876,3 @@ int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc,
}
#endif /* CONFIG_CMD_MEMTEST */
-/* Modify memory.
- *
- * Syntax:
- * mm {addr}
- * nm {addr}
- */
-static int
-mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
-{
- uint32_t addr;
- uint8_t data;
- int nbytes;
-
- (void) cmdtp;
-
- if (argc != 2)
- return CMD_RET_USAGE;
-
- /* We use the last specified parameters, unless new ones are
- * entered.
- */
- addr = mm_last_addr;
-
- if ((flag & CMD_FLAG_REPEAT) == 0) {
- /* New command specified.
- */
-
- /* Address is specified since argc > 1
- */
- addr = strtoul(argv[1], NULL, 16);
- addr += base_address;
- }
-
- /* Print the address, followed by value. Then accept input for
- * the next value. A non-converted value exits.
- */
- do {
- z80_bus_cmd(Request);
- data = z80_read(addr);
- printf("%05lx: %02x", addr, data);
- z80_bus_cmd(Release);
-
- nbytes = cli_readline(PSTR(" ? "));
- if (nbytes == 0 || (nbytes == 1 && console_buffer[0] == '-')) {
- /* <CR> pressed as only input, don't modify current
- * location and move to next. "-" pressed will go back.
- */
- if (incrflag)
- addr += nbytes ? -1 : 1;
- nbytes = 1;
- }
- else {
- char *endp;
- data = strtoul(console_buffer, &endp, 16);
- nbytes = endp - console_buffer;
- if (nbytes) {
- z80_bus_cmd(Request);
- z80_write(addr, data);
- z80_bus_cmd(Release);
- if (incrflag)
- addr++;
- }
- }
- } while (nbytes);
-
- mm_last_addr = addr;
- return 0;
-}
-