FreeCalypso > hg > freecalypso-sw
diff loadtools/ltmisc.c @ 71:0c1480317c18
dieid via fc-loadtool: added ability to save to a file
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Fri, 26 Jul 2013 18:11:41 +0000 |
parents | e2698daf40d1 |
children |
line wrap: on
line diff
--- a/loadtools/ltmisc.c Fri Jul 26 17:51:49 2013 +0000 +++ b/loadtools/ltmisc.c Fri Jul 26 18:11:41 2013 +0000 @@ -7,17 +7,31 @@ #include <stdio.h> #include <stdint.h> -cmd_dieid() +cmd_dieid(argc, argv) + char **argv; { - uint32_t addr; - uint16_t data; - int stat; + static uint32_t addrs[4] = {0xFFFEF010, 0xFFFEF012, 0xFFFEF014, + 0xFFFEF016}; + uint16_t data[4]; + int i, stat; + FILE *of; - for (addr = 0xFFFEF010; addr <= 0xFFFEF016; addr += 2) { - stat = do_r16(addr, &data); + for (i = 0; i < 4; i++) { + stat = do_r16(addrs[i], data + i); if (stat) return(stat); - printf("%08lX: %04X\n", (u_long)addr, (int)data); + printf("%08lX: %04X\n", (u_long)addrs[i], (int)data[i]); } + if (argc < 2) + return(0); + of = fopen(argv[1], "w"); + if (!of) { + perror(argv[1]); + return(-1); + } + for (i = 0; i < 4; i++) + fprintf(of, "%08lX: %04X\n", (u_long)addrs[i], (int)data[i]); + fclose(of); + printf("Saved to %s\n", argv[1]); return(0); }