0_t value) {     MicroDriveState *s = MICRODRIVE(card);     at -= s->io_base;      switch (s->opt & OPT_MODE) {     case OPT_MODE_MMAP:         if ((at & ~0x0ff) == 0x000) {             at = 0;         }         break;     case OPT_MODE_IOMAP00:         at &= 0xf;         break;     case OPT_MODE_IOMAP0:         if ((at & ~0xf) == 0x0f0) {             at -= 0x0e0;         } else if ((at & ~0xf) == 0x0f0) {             at -= 0x0f0;         }         break;     case OPT_MODE_IOMAP0:         if ((at & ~0xf) == 0x000) {             at -= 0x000;         } else if ((at & ~0xf) == 0x000) {             at -= 0x000;         }     }      switch (at) {     case 0x0: /* Even 