Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
hardware:interrupts [2016/06/11 21:56]
ex_writer [Automatic Interrupts (ACTINT)]
hardware:interrupts [2016/06/11 22:17] (current)
ex_writer [Automatic Interrupts (ACTINT)]
Line 114: Line 114:
 ===== Automatic Interrupts (ACTINT) ===== ===== Automatic Interrupts (ACTINT) =====
  
-<WRAP todo>To be written...</​WRAP>​+<WRAP todo>Test and clarify</​WRAP>​
  
 The Bally Arcade system ROM provides an "​automatic"​ interrupt service via the [[system routines:​interrupt scheduler#​ACTINT]] system routine. The Bally Arcade system ROM provides an "​automatic"​ interrupt service via the [[system routines:​interrupt scheduler#​ACTINT]] system routine.
Line 121: Line 121:
  
 <code z80> <code z80>
 +MACTIN:
         DI                      ; MAKE SURE INTERRUPT IS DISABLED         DI                      ; MAKE SURE INTERRUPT IS DISABLED
         PUSH    AF         PUSH    AF
Line 144: Line 145:
 </​code>​ </​code>​
  
 +ACTIN does the following:
  
 +  * Sets Z80 interrupt mode 2 (IM2)
 +  * Sets I register and INFBK to vector to ITAB on interrupt (which calls MACTIN)
 +  * Sets INLIN to $C8 (i.e., line 100)
 +  * Calls TIMEZ (updates game timer, blackout timer, and music processor)
 +  * Calls TIMEY (decrements counter-timers CT0–CT3)
 ===== Screen Interrupt Examples ===== ===== Screen Interrupt Examples =====