PAL-Timing scheme for two successive overscan raster lines, sprites 1+3+7 active
 on the latter:

  +---------------------------------------------------------------+
  |         1         2         3         4         5         6   |
  |123456789012345678901234567890123456789012345678901234567890123|Cycles
  +---------[------(--------------------------------------)---]---+Borders
  |3-4-5-6-7-rrrrr++++++++++++++++++++++++++++++++++++++++-N0-1s2-|Phi-1 VIC
  |                                                           ss  |Phi-2 VIC
  |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXX==**|Phi-2 CPU
  +---------------------------------------------------------------+
  |3s4-5-6-7srrrrr++++++++++++++++++++++++++++++++++++++++-N0-1-2-|Phi-1 VIC
  |ss      ss                                                     |Phi-2 VIC
  |==xxxXXX==xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|Phi-2 CPU
  +---------------------------------------------------------------+

  '-' = idle bus cycle (reads from the last byte of the video bank)
  '+' = idle bus cycle (just like '-', but reads from
        video_bank_base_address + $39FF if ECM ($D011 Bit 6) is selected)

   <num> = pointer fetch for sprite <num>  ;  r = memory refresh cycle
   s = sprite data fetch  ;  N = extra '-' cycles for NTSC added here

   x  = processor executes instructions (BA high, AEC high)
   X  = bus request pending, bus still available (BA low, AEC high);
        processor may execute write cycles, stops on the next read cycle.
  '*' = bus request pending, bus still available (BA low, AEC high);
        processor is blocked because it would like to read something.
  '=' = bus unavailable (BA low, AEC low); processor is blocked because it
        would like to read something.