FreeCalypso > hg > freecalypso-hwlab
diff simtool/writecmd.c @ 102:29cc5612797a
fc-simtool: update-rec command implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 25 Jan 2021 02:16:16 +0000 |
parents | 454ff8bd0b83 |
children | 4aaf722ab933 |
line wrap: on
line diff
--- a/simtool/writecmd.c Mon Jan 25 01:54:43 2021 +0000 +++ b/simtool/writecmd.c Mon Jan 25 02:16:16 2021 +0000 @@ -23,3 +23,26 @@ len = rc; return update_bin_op(offset, data, len); } + +cmd_update_rec(argc, argv) + char **argv; +{ + unsigned recno; + u_char data[255]; + int rc; + + recno = strtoul(argv[1], 0, 0); + if (recno < 1 || recno > 255) { + fprintf(stderr, + "error: record number argument is out of range\n"); + return(-1); + } + rc = read_hex_data_file(argv[2], data); + if (rc < 0) + return(rc); + if (rc != curfile_record_len) { + fprintf(stderr, "error: hex data length != EF record length\n"); + return(-1); + } + return update_rec_op(recno, 0x04, data, curfile_record_len); +}