]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/command_tbl.c
overhaul CP/M drive logging/debugging
[z180-stamp.git] / avr / command_tbl.c
index 2c9135502ae5b66c0fcd64ffb1d64bb9fb2c323a..7ebc008f804cadc27f31834f4bba90a8bdf15ebf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
+ * (C) Copyright 2014-2016 Leo C. <erbl259-lmu@yahoo.de>
  *
  * SPDX-License-Identifier:    GPL-2.0
  */
@@ -16,6 +16,7 @@ extern command_ret_t do_env_default(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_env_set(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_env_save(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_loadf(cmd_tbl_t *, int, int, char * const []);
+extern command_ret_t do_bootcf(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_loadcpm3(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_loadihex(cmd_tbl_t *, int, int, char * const []);
 #if defined(CONFIG_CMD_LOADB)
@@ -34,9 +35,10 @@ extern command_ret_t do_gpio(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_sd(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_fat_stat(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_fat_ls(cmd_tbl_t *, int, int, char * const []);
-//extern command_ret_t do_fat_read(cmd_tbl_t *, int, int, char * const []);
-//extern command_ret_t do_fat_write(cmd_tbl_t *, int, int, char * const []);
 extern command_ret_t do_fat_rw(cmd_tbl_t *, int, int, char * const []);
+extern command_ret_t do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+extern command_ret_t do_source(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+extern command_ret_t do_attach(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 #ifdef CONFIG_SYS_LONGHELP
 const FLASH char sd_help_text[] =
@@ -114,6 +116,13 @@ CMD_TBL_ITEM_COMPLETE(
        "    - run the commands in the environment variable(s) 'var'",
        var_complete
 ),
+CMD_TBL_ITEM_COMPLETE(
+       source, CONFIG_SYS_MAXARGS,     1,      do_source,
+       "run commands from a file",
+       "filename\n"
+       "    - run the commands in the script file 'filename'",
+       var_complete
+),
 CMD_TBL_ITEM_COMPLETE(
        printenv, CONFIG_SYS_MAXARGS,   1,      do_env_print,
        "print environment variables",
@@ -148,6 +157,27 @@ CMD_TBL_ITEM(
        "load srec_cat prepared image from controller flash",
        ""
 ),
+CMD_TBL_ITEM(
+       bootcf, CONFIG_SYS_MAXARGS,     0,      do_bootcf,
+       "boot from cf card",
+       "[options]\n"
+       "    Load a number of sectors from the first CP/M partition and jump to\n"
+       "    the load address.\n"
+       "    -a ADDRESS\n"
+       "            Load and start address (default 100 hex)\n"
+       "    -s NUM\n"
+       "            First sector of partition to load (0..255, default 0)\n"
+       "    -c NUM\n"
+       "            Number of sectors to load (1..127, default 7)\n"
+       "    -i NUM\n"
+       "            Partition type to look for (default 52 hex)\n"
+       "    -n\n"
+       "            Load only, do not execute\n"
+       "    -t NUM\n"
+       "            Timeout for IDE commands (1..65535, default 10000)\n"
+       "    -v verbose\n"
+       "            TODO: be verbose"
+),
 CMD_TBL_ITEM(
        loadcpm3, 3,    0,      do_loadcpm3,
        "load CPM3.SYS file",
@@ -342,6 +372,22 @@ CMD_TBL_ITEM(
        "    - Write file to 'path/filename' on logical drive 'd' from RAM\n"
        "      starting at address 'addr'.\n"
 ),
+CMD_TBL_ITEM(
+       attach, CONFIG_SYS_MAXARGS,     1,      do_attach,
+       "attach filesystem image file to CP/M drive",
+       "[options] [dsk<n> <d:/path/filename>]\n"
+       "    - attach drive number <n> to diskfile <d:/path/filename>\n"
+       "attach -d dsk<n>\n"
+       "    - detach drive\n"
+       "attach\n"
+       "    - without arguments, list current assignments"
+),
+CMD_TBL_ITEM(
+       detach, 2,      1,      do_attach,
+       "detach file from CP/M drive",
+       "dsk<n>]\n"
+       "    - alias for 'attach -d dsk<n>'"
+),
 
 CMD_TBL_ITEM(
        help,   CONFIG_SYS_MAXARGS,     1,      do_help,