Fri, 04 Mar 2011 02:12:25 +0000
only strobe BUSERR if dma access caused a pagefault, and don't send IRQ0s (musashi auto-clears IRQs)!
src/main.c | file | annotate | diff | revisions |
1.1 diff -r dc7ae6e6c3aa -r 566cfc70ef33 src/main.c 1.2 --- a/src/main.c Fri Mar 04 01:38:39 2011 +0000 1.3 +++ b/src/main.c Fri Mar 04 02:12:25 2011 +0000 1.4 @@ -292,7 +292,7 @@ 1.5 state.bsr0 = 0x3C00; 1.6 state.bsr0 |= (state.dma_address >> 16); 1.7 state.bsr1 = state.dma_address & 0xffff; 1.8 - m68k_pulse_bus_error(); 1.9 + if (state.ee) m68k_pulse_bus_error(); 1.10 printf("BUS ERROR FROM DMA: genstat=%04X, bsr0=%04X, bsr1=%04X\n", state.genstat, state.bsr0, state.bsr1); 1.11 1.12 // TODO: FIXME: if we get a pagefault, it NEEDS to be tagged as 'peripheral sourced'... this is a HACK! 1.13 @@ -358,9 +358,9 @@ 1.14 m68k_set_irq(3); 1.15 } else { 1.16 lastirq_fdc = wd2797_get_irq(&state.fdc_ctx); 1.17 - if (!state.timer_asserted){ 1.18 - m68k_set_irq(0); 1.19 - } 1.20 +// if (!state.timer_asserted){ 1.21 +// m68k_set_irq(0); 1.22 +// } 1.23 } 1.24 1.25 // Is it time to run the 60Hz periodic interrupt yet?