]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/cmd_mem.c
Refactor makefiles
[z180-stamp.git] / avr / cmd_mem.c
index 7a8781cc7b7432d036bfc9c11cf2db5940eb686e..3e187701bb19e66968dc49caadbcd1186fe409df 100644 (file)
  * Copied from FADS ROM, Dan Malek (dmalek@jlc.net)
  */
 
-#include "common.h"
-#include <ctype.h>
+#include "cmd_mem.h"
 #include <avr/interrupt.h>
 
-#include "command.h"
 #include "cli_readline.h"
 #include "print-utils.h"
 #include "con-utils.h"
@@ -55,6 +53,19 @@ static ERRNUM z180_read_buf(uint8_t *buf, uint32_t addr, uint8_t count)
 
 /*--------------------------------------------------------------------------*/
 
+command_ret_t do_mem_size(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int argc UNUSED, char * const argv[] UNUSED)
+{
+       int32_t ramsize = z80_memsize_detect();
+
+       if (ramsize < 0)
+               cmd_error(CMD_RET_FAILURE, (ERRNUM) -ramsize, PSTR("Couldn't access RAM"));
+
+       printf_P(PSTR("Detected RAM: Start %.5lx, End: %.5lx, Size: %.5lx (%ld dec)\n"),
+               0l, ramsize ? ramsize-1 : 0l, ramsize, ramsize);
+
+       return CMD_RET_SUCCESS;
+}
+
 /* Memory Display
  *
  * Syntax:
@@ -193,9 +204,6 @@ command_ret_t do_mem_mw(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * co
 
        (void) cmdtp; (void) flag;
 
-       /* reset getopt() */
-       optind = 0;
-
        int opt;
        while ((opt = getopt(argc, argv, PSTR("bwl"))) != -1) {
                switch (opt) {
@@ -250,7 +258,6 @@ command_ret_t do_mem_mdc ( cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char *
        (void) cmdtp;
        (void) flag;
 
-       optind = 0;
        if (argv[0][1] != 'd') {
                int opt;
                while ((opt = getopt(argc, argv, PSTR("bwl"))) != -1)