diff --git a/src/floppy/fdc.c b/src/floppy/fdc.c index fc5f522ac..39296c406 100644 --- a/src/floppy/fdc.c +++ b/src/floppy/fdc.c @@ -2160,6 +2160,13 @@ fdc_set_irq(fdc_t *fdc, int irq) } +void +fdc_set_dma_ch(fdc_t *fdc, int dma_ch) +{ + fdc->dma_ch = dma_ch; +} + + void fdc_set_base(fdc_t *fdc, int base) { diff --git a/src/include/86box/fdc.h b/src/include/86box/fdc.h index abca81ab0..68d4ea0ce 100644 --- a/src/include/86box/fdc.h +++ b/src/include/86box/fdc.h @@ -155,6 +155,7 @@ extern int fdc_is_verify(fdc_t *fdc); extern void fdc_overrun(fdc_t *fdc); extern void fdc_set_base(fdc_t *fdc, int base); extern void fdc_set_irq(fdc_t *fdc, int irq); +extern void fdc_set_dma_ch(fdc_t *fdc, int dma_ch); extern int fdc_getdata(fdc_t *fdc, int last); extern int fdc_data(fdc_t *fdc, uint8_t data); diff --git a/src/sio/sio_vt82c686.c b/src/sio/sio_vt82c686.c index 235dfbd32..932e79cb1 100644 --- a/src/sio/sio_vt82c686.c +++ b/src/sio/sio_vt82c686.c @@ -62,6 +62,7 @@ vt82c686_fdc_handler(vt82c686_t *dev) if (dev->regs[0x02] & 0x10) fdc_set_base(dev->fdc, io_base); + fdc_set_dma_ch(dev->fdc, dev->fdc_dma); fdc_set_irq(dev->fdc, dev->fdc_irq); }