68k interrupts: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 18: Line 18:
== Raster Line Interrupt ==
== Raster Line Interrupt ==


The RLI interrupt's behavior can be programmed through memory mapped registers. It's made to occur at (the start/end ? of) specific horizontal lines of the video output. See the Sammy logo at the start of [[Viewpoint]] for an example of its use. [[Sengoku 3]] and [[Neo Turf Masters]] are also known to rely on them to do [[scanline effets]].
The RLI interrupt's behavior can be programmed through memory mapped registers. It's made to occur at (the start/end ? of) specific horizontal lines of the video output. See the Sammy logo at the start of [[Viewpoint]] for an example of its use. [[Sengoku 3]] and [[Neo Turf Masters]] are also known to rely on them to do [[scanline effects]].


== AES/MVS interrupts ==
== AES/MVS interrupts ==

Revision as of 02:41, 7 March 2011

There are 3 interrupt levels on the AES and MVS. Only 2 on the CD hardware.

Interrupts need to be acknowledged by writing to register $3C000C (REG_IRQACK).

  • bit2: Ack VBlank
  • bit1: Ack RLI
  • bit0: Ack level 3
move	#$0007,REG_IRQACK     ; Acknowledges all interrupts

Bits 8~10 of the SR register are used to mask them. $2000 enables them all, $2700 disables them.

Vertical Blank Interrupt

VBlank interrupt is almost always used. It occurs everytime a new frame is traced (~60Hz).

Raster Line Interrupt

The RLI interrupt's behavior can be programmed through memory mapped registers. It's made to occur at (the start/end ? of) specific horizontal lines of the video output. See the Sammy logo at the start of Viewpoint for an example of its use. Sengoku 3 and Neo Turf Masters are also known to rely on them to do scanline effects.

AES/MVS interrupts

  • VBlank: 0
  • RLI: 1
  • Pending at startup ?: 2

CD interrupts

  • VBlank: 1
  • RLI: 0