1.1 diff -r 976dfa068839 -r 2ef98ea1e944 src/memory.c 1.2 --- a/src/memory.c Mon Dec 06 08:27:05 2010 +0000 1.3 +++ b/src/memory.c Mon Dec 06 08:27:21 2010 +0000 1.4 @@ -244,7 +244,7 @@ 1.5 break; 1.6 case 0x070000: // Line Printer Status Register 1.7 data = 0x00120012; // no parity error, no line printer error, no irqs from FDD or HDD 1.8 - data |= (state.fdc_ctx.irql) ? 0x00080008 : 0; // FIXME! HACKHACKHACK! shouldn't peek inside FDC structs like this 1.9 + data |= wd2797_get_irq(&state.fdc_ctx) ? 0x00080008 : 0; 1.10 break; 1.11 case 0x080000: // Real Time Clock 1.12 break; 1.13 @@ -414,7 +414,7 @@ 1.14 break; 1.15 case 0x070000: // Line Printer Status Register 1.16 data = 0x0012; // no parity error, no line printer error, no irqs from FDD or HDD 1.17 - data |= (state.fdc_ctx.irql) ? 0x0008 : 0; // FIXME! HACKHACKHACK! shouldn't peek inside FDC structs like this 1.18 + data |= wd2797_get_irq(&state.fdc_ctx) ? 0x0008 : 0; 1.19 break; 1.20 case 0x080000: // Real Time Clock 1.21 break; 1.22 @@ -590,13 +590,13 @@ 1.23 // TODO: how to handle this in 8bit mode? 1.24 break; 1.25 case 0x070000: // Line Printer Status Register 1.26 - printf("\tLPSR RD8 fdc irql=%d, irqe=%d\n", state.fdc_ctx.irql, state.fdc_ctx.irqe); 1.27 if (address & 1) { 1.28 data = 0x12; // no parity error, no line printer error, no irqs from FDD or HDD 1.29 - data |= (state.fdc_ctx.irql) ? 0x08 : 0; // FIXME! HACKHACKHACK! shouldn't peek inside FDC structs like this 1.30 + data |= wd2797_get_irq(&state.fdc_ctx) ? 0x08 : 0; 1.31 } else { 1.32 data = 0; 1.33 } 1.34 + handled = true; 1.35 break; 1.36 case 0x080000: // Real Time Clock 1.37 break;