src/memory.c

changeset 76
2ef98ea1e944
parent 53
e1693c4b8a0c
child 77
e7898cbae0c6
child 78
c149c13aff1c
     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;