]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/cmd_mem.c
enum command_ret_t --> typedef
[z180-stamp.git] / avr / cmd_mem.c
index 253f02f06349342727a8f17ea05e7e23583673b9..6341e0b77682c5057fb27c964436654c176b3e24 100644 (file)
@@ -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;
-}
-