X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/ad9bc17c8ecab1f0bbd26f2270d4d396f4bc5e52..8eb73d1751705942b4f0891a90a669ce63b98866:/avr/command_tbl.c diff --git a/avr/command_tbl.c b/avr/command_tbl.c index a9cc2bd..592858a 100644 --- a/avr/command_tbl.c +++ b/avr/command_tbl.c @@ -1,7 +1,7 @@ /* - * (C) Copyright 2014 Leo C. + * (C) Copyright 2014-2016 Leo C. * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0 */ #include "common.h" @@ -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 *, int, int, char * const []); +extern command_ret_t do_source(cmd_tbl_t *, int, int, char * const []); +extern command_ret_t do_attach(cmd_tbl_t *, int, int, char * const []); #ifdef CONFIG_SYS_LONGHELP const FLASH char sd_help_text[] = @@ -50,7 +52,7 @@ cmd_tbl_t cmd_tbl[] = { CMD_TBL_ITEM( date, 2, 1, do_date, "get/set date & time", - "[MMDDhhmm[[CC]YY][.ss]]\ndate reset\n" + "[MMDDhhmm[[CC]YY][.ss]]\n" " - without arguments: print date & time\n" " - with numeric argument: set the system date & time\n" ), @@ -98,8 +100,8 @@ CMD_TBL_ITEM( echo, CONFIG_SYS_MAXARGS, 1, do_echo, "display a line of text", "[-n] [argument ...]\n" - " - echo the argument(s) to console.\n" - " -n do not output the trailing newline" + "- echo the argument(s) to console.\n" + " -n do not output the trailing newline" ), CMD_TBL_ITEM( sleep , 2, 1, do_sleep, @@ -114,13 +116,20 @@ 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", - "\n" - " - print values of all environment variables\n" - "printenv name ...\n" - " - print value of environment variable 'name'", + "[-s] [name ...]\n" + " Print value of environment variable(s) 'name'\n" + " If no names are given, print values of all environment variables\n" + " -s Print in setenv form", var_complete ), CMD_TBL_ITEM_COMPLETE( @@ -148,13 +157,38 @@ 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", - "[offset] [filename]\n" + "[filename [common-base [banked-base]]] \n" " - Load CP/M 3 system file from FAT filesystem. This command makes\n" - " CPMLDR superfluous. Default filename is '"CONFIG_PATH_CPM3SYS"', but\n" - " uses environment variable '"ENV_PATH_CPM3SYS"', if set." + " CPMLDR superfluous. Uses the following environment variables if set:\n" + " '"ENV_CPM3_SYSFILE"' File to load. Default is '"CONFIG_CPM3_SYSFILE"'.\n" + " '"ENV_CPM3_BANKED_BASE"' Default is '"CONFIG_CPM3_BANKED_BASE_STR"'.\n" + " Sets the following environment variables after loading:\n" + " '"ENV_CPM3_COMMON_BASE"'\n" + " '"ENV_STARTADDRESS"'" ), CMD_TBL_ITEM( loadi, 2, 0, do_loadihex, @@ -204,7 +238,11 @@ CMD_TBL_ITEM( CMD_TBL_ITEM( connect, 1, 0, do_console, "Connect to CPU console i/o", - "" + "\n" + " - type the escape character followed by Q to close the connection, \n" + " or followed by ? to see other options. The default escape character \n" + " is Ctrl-^ (0x1E). It can be changed by setting env var '"ENV_ESC_CHAR"'." + ), CMD_TBL_ITEM( @@ -241,9 +279,12 @@ CMD_TBL_ITEM( "address" ), CMD_TBL_ITEM( - mw, 4, 1, do_mem_mw, + mw, CONFIG_SYS_MAXARGS, 1, do_mem_mw, "memory write (fill)", - "address value [count]" + "[-bwl] address value [count]\n" + " -b write value as byte (8 bit, default)\n" + " -w write value as word (16 bit)\n" + " -l write value as long (32 bit)" ), CMD_TBL_ITEM( cp, 4, 1, do_mem_cp, @@ -289,9 +330,12 @@ CMD_TBL_ITEM( "address count delay(ms)" ), CMD_TBL_ITEM( - mwc, 4, 1, do_mem_mdc, + mwc, CONFIG_SYS_MAXARGS, 1, do_mem_mdc, "memory write cyclic", - "address value delay(ms)" + "[-bwl] address value delay(ms)\n" + " -b write value as byte (8 bit, default)\n" + " -w write value as word (16 bit)\n" + " -l write value as long (32 bit)" ), #endif /* CONFIG_MX_CYCLIC */ @@ -329,8 +373,36 @@ CMD_TBL_ITEM( "write file into a dos filesystem", " \n" " - Write file to 'path/filename' on logical drive 'd' from RAM\n" - " starting at address 'addr'. 'bytes' gives the size to load.\n" - " If 'bytes' is 0 or omitted, the load stops on end of file." + " starting at address 'addr'.\n" +), +CMD_TBL_ITEM( + attach, CONFIG_SYS_MAXARGS, 1, do_attach, + "attach filesystem image file to CP/M drive", + "[-rw] [-o options] dsk diskfile\n" + " Attach diskfile to dsk, where n in 0..7\n" + " -r File is read only (write protected)\n" + " -w File is read/write (default)\n" + " -o options\n" + " Options is a comma-separated list of\n" + " ro, rw, debug, nodebug\n" + "\n" + "attach [-rw] -o reattach[,other options] dsk\n" + " Change options for dsk.\n" + " Options as above.\n" + "\n" + "attach -d -a|dsk\n" + "detach -a|dsk\n" + " Detach diskfile from dsk.\n" + " -a Detach all.\n" + "\n" + "attach\n" + " Without arguments, list current assignments\n" +), +CMD_TBL_ITEM( + detach, 2, 1, do_attach, + "detach file from CP/M drive", + "dsk]\n" + " - alias for 'attach -d dsk'" ), CMD_TBL_ITEM(