1 line = 113.6666.. (clock)
HBlank = 28.333...
240line = 27280
VBlank = 113.6666.. * 22 = 2500.6666...
1 frame = 113.6666.. * 262 = 29780.6666.. (clock)
Between "NMI flag ON" and  "NMI occerrence" = 10-20 (clock)
Vscroll valid = 2344 +- 2 (It valid after NMI flag is 1)
$4014 DMA = 513 clock

color clock is 3.579575 Mhz
cpu is 1.7897875 MHz
hline is 63.6947 msec
frame is 16.6880146 msec
228 color clocks/line
114 cpu clocks/line
40 lines from NMI to top of screen
192 lines from top to bottom
30 lines of overscan
262 lines/frame
max num of char pointers which can be loaded w/in a frame can be estimated
by taking the # of cycles during vblank, subtracting the # of cycles used
for loading sprites and misc overhead, and dividing the remainer by the
# of cycles for hte inner loop of the char ptr loader

vblank 4560 cycles
NMI overhead 87 cycles
sprite loader 276 cycles
char loader setup 33 cycles
inner loop 16-17 cycles
# of chars N = 4560 = 87 + 276 + 33 + (17 * N)
should be able to load at least 200 char pointers during each vblank

