Page 1 of 1

Cartridge interrupts?

Posted: Tue Jun 02, 2015 8:06 pm
by doragasu
Is it possible to generate 68k interrupts by driving any cartridge line? Which line/lines?

Having a quick look here, it looks like you can interrupt the Z80, but not the 68k...

Posted: Tue Jun 02, 2015 9:11 pm
by TmEE co.(TM)
You cannot generate interrupts from cartslot.

Posted: Wed Jun 03, 2015 9:22 am
by doragasu
Not even Z80 ones?

If the answer is a big NO, is there a way to automatically trigger DMA transfers when a cart pin changes? (I suppose I'll get another NO here).

I want to connect a 16C550 UART to the bus, and if I can neither use interrupts nor automatic DMA, bit rate will be greatly limited (because I'll have to fall back to fill/empty the UART FIFO once each frame).

BTW, designing a cartridge port without a single interrupt line (other than Reset) seems stupid to me.

Posted: Wed Jun 03, 2015 12:12 pm
by notaz
Well even expansion port can't do it, SegaCD has to get away without interrupts to MD's 68k. You are partially right about Z80, partially because it only works in master system mode (one of address lines is then repurposed for Z80 NMI).

The only things I can think of is connecting a wire to one of I/O ports to use the ext interrupts, or use VDP horizontal interrupts to do your UART work. But even then it's rather wasteful as (IIRC) it takes like 150 cycles for 68k to service an interrupt.

Posted: Wed Jun 03, 2015 1:07 pm
by doragasu
Thanks for the information. Maybe setting an HBLANK interrupt each N lines, may do the trick without wasting too many CPU cycles. Too bad SEGA didn't include an interrupt line... even NES and Master System had it, and it's extremely useful for in-cart peripherals.