Difference between revisions of "VBlank Interrupt"

From Intellivision Wiki
Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The VBlank Interrupt (short for "Vertical Blanking Interrupt") is an interrupt signaled by the [[STIC]] by asserting low on SR1 (which is connected to the INTRM line on the [[CP1610]]) when it has finished drawing the active display, just as it begins to draw the solid border at the bottom of the screen.  The VBlank Interrupt is important for two reasons:
+
[[Category:STIC]][[Category:CP1610]]
 +
The [[STIC]] signals the VBlank Interrupt (short for "Vertical Blanking Interrupt") when it has finished drawing the active display, just as it begins to draw the solid border at the bottom of the screen.  The STIC signals this interrupt by pulsing its SR1 output low.  SR1 connects directly to the [[CP1610]]'s INTRM input. 
 +
 
 +
The VBlank Interrupt is important for two reasons:
  
 
* It provides a regular "pulse" upon which to base game timing and events.
 
* It provides a regular "pulse" upon which to base game timing and events.
 
* It signals the start of the [[VBlank Interval]], which controls access to STIC registers, [[Graphics RAM]] and [[Graphics ROM]].
 
* It signals the start of the [[VBlank Interval]], which controls access to STIC registers, [[Graphics RAM]] and [[Graphics ROM]].
  
On NTSC Intellivisions, the [[STIC]] stignals this interrupt once every 14394 cycles and it maintains this signal for exactly 3791 [[CP1610]] clock cycles.  On PAL/SECAM Intellivisions, the exact interrupt timing is unknown.  Note that if the [[Interrupt Enable Flag]] within the [[CP1610]] is clear for the entire duration of the signal from the [[STIC]], or if the [[CP1610]] simply never encounters an interruptible instruction during that time, the CP1610 will miss the interrupt altogether.  This has been noted as a problem in particular for the game [[Dreadnaught Factor]].
+
On NTSC Intellivisions, the [[STIC]] asserts this signal once every 14934 (Some sources say 14394) cycles, and holds it asserted for exactly 3791 [[CP1610]] clock cycles.  On PAL/SECAM Intellivisions, the exact interrupt timing is unknown.  In order to take the interrupt, the [[CP1610]]'s [[Interrupt Enable Flag]] must be set, and the CPU must encounter at least one interruptible instruction while the STIC asserts SR1.  Otherwise, the CPU will drop the interrupt.

Latest revision as of 04:22, 17 December 2012

The STIC signals the VBlank Interrupt (short for "Vertical Blanking Interrupt") when it has finished drawing the active display, just as it begins to draw the solid border at the bottom of the screen. The STIC signals this interrupt by pulsing its SR1 output low. SR1 connects directly to the CP1610's INTRM input.

The VBlank Interrupt is important for two reasons:

On NTSC Intellivisions, the STIC asserts this signal once every 14934 (Some sources say 14394) cycles, and holds it asserted for exactly 3791 CP1610 clock cycles. On PAL/SECAM Intellivisions, the exact interrupt timing is unknown. In order to take the interrupt, the CP1610's Interrupt Enable Flag must be set, and the CPU must encounter at least one interruptible instruction while the STIC asserts SR1. Otherwise, the CPU will drop the interrupt.