Ad: Click Here

Mapping the Atari cover

APPENDIX ONE

VBLANK Processes

The VBLANK routines are all documented in the OS listings, pages 35 to 38. In the "A" ROMs, they are processed in locations 59345 to 59665 ($E7D1 to $E911). In the "B" ROMs, they are processed at 59310 to 59628 ($E7AE to $E8EC). See also De Re Atari for more explanation.

Stage 1 VBLANK:

Performed every VBI: 1) Increment the realtime clock at 18 - 20 ($12-$14) 2) Process the attract mode variables (location 77; $4D) 3) Decrement system timer one at 536 ($218) and if zero JSR through 550 ($226).

Stage 2 VBLANK:

Performed every VBI which does not interrupt critical sections: 1) Update the hardware registers from the shadows as follows: Shadow: Hardware: Update reason: SDLISTL/H DLISTL/H DISPLAY LIST END SDMCTL DMACTL CHBAS CHBASE CHACT CHACTL GPRIOR PRIOR COLOR0-4 COLPF0-4,BAK ATTRACT MODE PCOL0-3 COLPM0-3 LPCNV/H PENV/H LIGHT PEN STICK0-1 PORTA JOYSTICKS PTRIG0-3 PORTA PADDLE TRIGGERS STICK2-3 PORTB PTRIG4-7 PORTB PADDL0-7 POT0-7 PADDLES STRIG0-3 TRIG0-3 JOYSTICK TRIGGERS .... CONSOL CONSOLE SPEAKER OFF 2) System timers two to five (locations 540,542,544; $21C,$21E,$220) are decremented and if the value is zero, the corresponding flags are set. A JSR is made through 552 ($228) if timer two equals zero. 3) A character is read from POKEY keyboard register at 53769 ($D209) and read into CH at 764 ($2FC) if the auto-repeat is active. 4) The keyboard debounce counter is decremented by one if it is not zero and if no key is being pressed. 5) Keyboard auto-repeat logic is processed. 6) Exit the VBLANK routine through 58466 ($E462).

Return to Table of Contents | Previous Chapter | Next Chapter