     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++++++++++++++++++++++++++++++++++++++++--0-1s2-|Phi-1 VIC
      |                                                           ss  |Phi-2 VIC
      |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXX==**|Phi-2 CPU
      +---------------------------------------------------------------+
      |3s4-5-6-7srrrrr++++++++++++++++++++++++++++++++++++++++--0-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

       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.