Difference between revisions of "VBlank Interrupt"

From Intellivision Wiki
Jump to: navigation, search
(break convoluted sentence into multiple sentences; other wording tweaks for active voice)
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:
+
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.
+
On NTSC Intellivisions, the [[STIC]] asserts this signal once every 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.

Revision as of 21:29, 11 January 2005

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 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.