diff --git a/src/hdd_esdi.c b/src/hdd_esdi.c index 1b32b1b..8bbc41e 100644 --- a/src/hdd_esdi.c +++ b/src/hdd_esdi.c @@ -437,6 +437,7 @@ static void esdi_callback(void *p) if (esdi->rba >= hdd_file->sectors) fatal("Read past end of drive\n"); hdd_read_sectors(hdd_file, esdi->rba, 1, esdi->data); + readflash_set(READFLASH_HDC, esdi->cmd_dev == ATTN_DEVICE_0 ? 0 : 1); } // pclog("Read sector %i %i %08x\n", esdi->sector_pos, esdi->data_pos, esdi->rba*512); while (esdi->data_pos < 256) diff --git a/src/ibm.h b/src/ibm.h index 2ad1aa3..a314370 100644 --- a/src/ibm.h +++ b/src/ibm.h @@ -5,9 +5,9 @@ #define READFLASH_FDC 0 #define READFLASH_HDC 4 -#define readflash_set(offset, drive) readflash |= 1<<(offset+drive) -#define readflash_clear(offset, drive) readflash &= ~(1<<(offset+drive)) -#define readflash_get(offset, drive) ((readflash&(1<<(offset+drive))) != 0) +#define readflash_set(offset, drive) readflash |= 1<<((offset)+(drive)) +#define readflash_clear(offset, drive) readflash &= ~(1<<((offset)+(drive))) +#define readflash_get(offset, drive) ((readflash&(1<<((offset)+(drive)))) != 0) /*Memory*/ uint8_t *ram;