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. |