68k interrupts

The cartridge systems use 3 auto-vectored interrupt levels. The CD systems use 6 vectored interrupts, 3 of which are equivalent to the cartridge system's.

See 68k vector table.

Video-related interrupts must to be acknowledged to re-trigger in the future by writing to the register.
 * bit 2: Acknowledge v-blank interrupt
 * bit 1: Acknowledge timer interrupt
 * bit 0: Acknowledge reset interrupt (only occurs on cold boot ?)

Multiple bits can be set:

Bits 8~10 of the 68k's SR register is used to set the minimum priority:

Note that the 68k's interrupt level setting is different from the interrupt configuration bits in.

=Vertical blank interrupt=

The v-blank interrupt is almost always used. It occurs when the rendering of a frame is about to start (~60 times per second). See display timing.

=Timer interrupt=

The timer interrupt's behavior can be programmed through the LSPC's memory mapped registers. It is triggered by a 32-bit down counter clocked by the 6MHz pixel clock, and a corresponding reset register. When the counter reaches 0, an interrupt is generated. Intervals can range from 166.7ns (would cause an interrupt flood !) to a little over 11.9 minutes.

It can be used for special video effects such as scanline effects, for example:
 * The interlaced Sammy logo in Viewpoint
 * Sengoku 2's intro
 * The road in Riding hero
 * Neo Turf Masters's ground perspective

=AES/MVS interrupt levels=


 * Level 1: V-blank
 * Level 2: Timer
 * Level 3: Pending after reset

=CD interrupt levels=

The V-blank and Timer levels are swapped compared to the cartridge systems.


 * Level 1: Timer
 * Level 2: V-blank
 * Level 3: Not used ?
 * Vector 21: CD host decoder interrupt (data ready)
 * Vector 22: CD drive communication start
 * Vector 23: Used but not understood