Would someone with a Quadra 700/900/950 be willing to test a program for me?

This second one is moving the mouse around the entire time that the test is running.

Thank you @jmacz! This confirms exactly what I expected to see, and shows MAME is acting just like hardware with the 950. No worries about re-testing that anymore @Callan! Thanks!

Quadra AVs don't have an ASC or EASC so that's expected.

I should probably add a check to only run these tests if the AddrMapFlags contain both VIA2 and ASC, to prevent crashes on incompatible hardware.

So...looking through these results in general, and making a few educated guesses, it seems like:
  • Original ASC interrupts on FIFO full and FIFO half empty, no repeats. Clears register $804 on read.
  • No other variants clear $804 on read, as far as I can tell.
  • EASC interrupts on FIFO half empty, only if $F09 or $F29 is 0 for the respective channel. Doesn't repeatedly fire.
    • The Q700 looks like it repeats (same with Q950 when mouse is moving) but it's due to special code in the OS and/or ROM.
  • Version $Ex interrupts on FIFO half empty, and repeats forever
  • Versions $BB and $BC have varying behavior on different machines. They both interrupt on FIFO half empty if $F29 is 0. On some machines the IRQ floods forever, on some machines it doesn't.
  • Variants with the $F29 register will fire an IRQ immediately if $F29 changes to 0 and the condition is active. (I'm assuming EASC does the same thing with $F09 for channel A)
 
Back
Top