Difference between revisions of "VBlank Interrupt"

From Intellivision Wiki
Jump to: navigation, search
 
 
(7 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]] when it has finished drawing the active display.  It signals this interrupt 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, [[GRAM]] and [[GROM]].
+
* It signals the start of the [[VBlank Interval]], which controls access to STIC registers, [[Graphics RAM]] and [[Graphics ROM]].
  
On NTSC Intellivisions, this interrupt occurs once every 14394 cycles.  On PAL/SECAM Intellivisions, this interrupt occurs once every ?? cycles.
+
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.