make default port name easier to configure and setup for my device on iMac
[flashkit-mdc.git] / flashkit.c
index 1dc54d9..00819c4 100644 (file)
@@ -406,17 +406,23 @@ static void read_info(int fd)
 
 static uint32_t get_block_addr(uint32_t addr, uint32_t blk_offset)
 {
-       uint32_t i;
+       uint32_t i, base, faddr;
 
        assert(info.region_cnt);
+       assert(info.size);
+
+       // get a flash address to allow mapper hardware
+       faddr = addr & (info.size - 1);
+       base = addr & ~(info.size - 1);
+
        for (i = 0; i < info.region_cnt; i++) {
-               if (info.region[i].start <= addr
-                   && addr < info.region[i].start + info.region[i].size)
+               if (info.region[i].start <= faddr
+                   && faddr < info.region[i].start + info.region[i].size)
                {
-                       uint32_t blk = (addr - info.region[i].start)
+                       uint32_t blk = (faddr - info.region[i].start)
                                        / info.region[i].block_size
                                        + blk_offset;
-                       return info.region[i].start
+                       return base + info.region[i].start
                                + blk * info.region[i].block_size;
                }
        }
@@ -460,11 +466,13 @@ static FILE *open_prep_read(const char *fname, long *size)
        return f;
 }
 
+static const char *portname = "/dev/cu.usbserial-AL0254JM";
+
 static void usage(const char *argv0)
 {
        printf("usage:\n"
                "%s [options]\n"
-               "  -d <ttydevice>      (default /dev/ttyUSB0)\n"
+               "  -d <ttydevice>      (default %s)\n"
                "  -r <file> [size]    dump the cart (default 4MB)\n"
                "  -w <file> [size]    program the flash (def. file size)\n"
                "  -s <file> [size]    simple write (SRAM, etc, def. file size)\n"
@@ -473,7 +481,7 @@ static void usage(const char *argv0)
                "  -8                  8bit flash\n"
                "  -v                  verify written data\n"
                "  -i                  get info about the flash chip\n"
-               , argv0);
+               , argv0, portname);
        exit(1);
 }
 
@@ -498,7 +506,6 @@ static uint8_t g_block2[0x10000];
 
 int main(int argc, char *argv[])
 {
-       const char *portname = "/dev/ttyUSB0";
        const char *fname_w = NULL;
        const char *fname_r = NULL;
        const char *fname_ws = NULL;