Цитата Сообщение от zst Посмотреть сообщение
буфер VGA
У меня это FIFO 1024x24бит, представлен в виде 3-х блоков R, G, B двухпортовой M9K 1024x9бит. Дальше данные R(7..0), G(7..0), B(7..0) поступают на адреса памяти палитры, выполненной в виде 3-х блоков 1024x9бит R, G, B с выходом на VGA RGB 8:8:8.
Сейчас подвис с калькулятором, нужно рассчитать все времянки и распределив наложить на видео режим. Интересно то, что у NextZ80@42MHz есть 700000 тактов в прерывании. По сравнению с Z80@3.5MHz, у которого их будет 58333 Если сделать графику 320х240 8bpp, то NextZ80 может строить изображение за одно прерывание...

Код:
----------------------------------------------------------------------------------------
VGA
----------------------------------------------------------------------------------------
General timing:
Screen refresh rate	= 60 Hz			60 Hz		700000 cycles
Vertical refresh	= 31.46875 kHz		31.5 kHz
Pixel freq.		= 25.175 MHz		25.2 MHz	23,809523809523809523809523809524 ns

Horizontal timing (line)
Polarity of horizontal sync pulse is negative.

Scanline part	Pixels	Time [us]
---------------------------------
Visible area 	640 	25.422045680238 	25,396825396825396825396825396825 us	25396,8253968254 ns
Front porch 	 16	0.63555114200596 	 0,63492063492063492063492063492063 us	  634,9206349206349 ns
Sync pulse 	 96	3.8133068520357 	 3,8095238095238095238095238095238 us	 3809,52380952381 ns
Back porch 	 48	1.9066534260179 	 1,9047619047619047619047619047619 us	 1904,761904761905 ns
Whole line 	800 	31.777557100298 	31,746031746031746031746031746032 us	31746,03174603175 ns

Vertical timing (frame)
Polarity of vertical sync pulse is negative.

Frame part	Lines	Time [ms]
---------------------------------
Visible area 	480	15.253227408143 	15,238095238095238095238095238095
Front porch 	 10 	0.31777557100298 	0,31746031746031746031746031746032
Sync pulse 	  2 	0.063555114200596 	0,06349206349206349206349206349206
Back porch 	 33 	1.0486593843098 	1,047619047619047619047619047619
Whole frame 	525 	16.683217477656 	16,666666666666666666666666666667	16666666,666666666666666666666667 ns / 23,809523809523809523809523809524 ns = 700000 cycles

----------------------------------------------------------------------------------------
SDRAM 16M16 -75
----------------------------------------------------------------------------------------
CLK	= 126 MHz 	= 7,936507936507937 ns = 1T
WR	= 15T		= 119,047619047619 ns
RD	= 14T		= 111,1111111111111 ns
RFSH	= 9T		= 71,42857142857143 ns

Providing a distributed AUTO REFRESH command every 7.81us	7809,52380952381 ns