diff --git a/FPGA_Quartus_13.1/Video/VIDEO_MOD_MUX_CLUTCTR.tdf b/FPGA_Quartus_13.1/Video/VIDEO_MOD_MUX_CLUTCTR.tdf index 2c9adcc..2b777db 100644 --- a/FPGA_Quartus_13.1/Video/VIDEO_MOD_MUX_CLUTCTR.tdf +++ b/FPGA_Quartus_13.1/Video/VIDEO_MOD_MUX_CLUTCTR.tdf @@ -1,4 +1,4 @@ -TITLE "VIDEO MODUSE UND CLUT CONTROL"; +TITLE "VIDEO MODI AND CLUT CONTROL"; -- CREATED BY FREDI ASCHWANDEN @@ -101,7 +101,7 @@ VARIABLE CLUT_TA :DFF; -- BRAUCHT EIN WAITSTAT HSYNC :DFF; HSYNC_I[7..0] :DFF; - HSY_LEN[7..0] :DFF; -- LÄNGE HSYNC PULS IN PIXEL_CLK + HSY_LEN[7..0] :DFF; -- L�NGE HSYNC PULS IN PIXEL_CLK HSYNC_START :DFF; LAST :DFF; -- LETZTES PIXEL EINER ZEILE ERREICHT VSYNC :DFF; @@ -191,6 +191,7 @@ VARIABLE VDL_VCT_CS :NODE; VDL_VMD[3..0] :DFFE; VDL_VMD_CS :NODE; + ACP_VCTR6_DUP : NODE; BEGIN -- BYT SELECT 32 BIT @@ -254,7 +255,7 @@ BEGIN ACP_VIDEO_ON = ACP_VCTR0; nPD_VGA = ACP_VCTR1; -- ATARI MODUS - ATARI_SYNC = ACP_VCTR26; -- WENN 1 AUTOMATISCHE AUFLÖSUNG + ATARI_SYNC = ACP_VCTR26; -- WENN 1 AUTOMATISCHE AUFL�SUNG -- HORIZONTAL TIMING 640x480 ATARI_HH[].CLK = MAIN_CLK; ATARI_HH_CS = !nFB_CS2 & FB_ADR[27..2]==H"104"; -- $410/4 @@ -312,7 +313,10 @@ BEGIN ACP_CLUT = ACP_VIDEO_ON & (COLOR1 # COLOR8) # ST_VIDEO & COLOR1; -- ST ODER FALCON SHIFT MODE SETZEN WENN WRITE X..SHIFT REGISTER ACP_VCTR7 = FALCON_SHIFT_MODE_CS & !nFB_WR & !ACP_VIDEO_ON; - ACP_VCTR6 = ST_SHIFT_MODE_CS & !nFB_WR & !ACP_VIDEO_ON; + + -- duplicate ACP_VCTR6 according to TimeQuest reccomendations + ACP_VCTR6_DUP = ST_SHIFT_MODE_CS & !nFB_WR & !ACP_VIDEO_ON; + ACP_VCTR6 = ACP_VCTR6_DUP; ACP_VCTR[7..6].ENA = FALCON_SHIFT_MODE_CS & !nFB_WR # ST_SHIFT_MODE_CS & !nFB_WR # ACP_VCTR_CS & FB_B3 & !nFB_WR & FB_AD0; FALCON_VIDEO = ACP_VCTR7; FALCON_CLUT = FALCON_VIDEO & !ACP_VIDEO_ON & !COLOR16; @@ -497,7 +501,7 @@ BEGIN # CLK33M & ACP_VIDEO_ON & ACP_VCTR[9..8]==B"01" # CLK_VIDEO & ACP_VIDEO_ON & ACP_VCTR[9]; -------------------------------------------------------------- --- HORIZONTALE SYNC LÄNGE in PIXEL_CLK +-- HORIZONTALE SYNC L�NGE in PIXEL_CLK ---------------------------------------------------------------- HSY_LEN[].CLK = MAIN_CLK; HSY_LEN[] = 14 & !ACP_VIDEO_ON & (FALCON_VIDEO # ST_VIDEO) & ( VDL_VMD2 & VDL_VCT2 # VDL_VCT0) @@ -524,7 +528,7 @@ BEGIN INTER_ZEI = DOP_ZEI & VVCNT0!=VDIS_START0 & VVCNT[]!=0 & VHCNT[]<(HDIS_END[]-1) -- EINSCHIEBEZEILE AUF "DOPPEL" ZEILEN UND ZEILE NULL WEGEN SYNC # DOP_ZEI & VVCNT0==VDIS_START0 & VVCNT[]!=0 & VHCNT[]>(HDIS_END[]-2); -- EINSCHIEBEZEILE AUF "NORMAL" ZEILEN UND ZEILE NULL WEGEN SYNC DOP_FIFO_CLR.CLK = PIXEL_CLK; - DOP_FIFO_CLR = INTER_ZEI & HSYNC_START # SYNC_PIX; -- DOPPELZEILENFIFO LÖSCHEN AM ENDE DER DOPPELZEILE UND BEI MAIN FIFO START + DOP_FIFO_CLR = INTER_ZEI & HSYNC_START # SYNC_PIX; -- DOPPELZEILENFIFO L�SCHEN AM ENDE DER DOPPELZEILE UND BEI MAIN FIFO START RAND_LINKS[] = VDL_HBE[] & ACP_VIDEO_ON # 21 & !ACP_VIDEO_ON & ATARI_SYNC & VDL_VMD2 @@ -566,7 +570,7 @@ BEGIN # ATARI_VL[26..16] & !ACP_VIDEO_ON & ATARI_SYNC & VDL_VMD2 # ATARI_VH[26..16] & !ACP_VIDEO_ON & ATARI_SYNC & !VDL_VMD2 # (0,VDL_VFT[10..1]) & !ACP_VIDEO_ON & !ATARI_SYNC; --- ZÄHLER +-- Z�HLER LAST.CLK = PIXEL_CLK; LAST = VHCNT[]==(H_TOTAL[]-2); VHCNT[].CLK = PIXEL_CLK; @@ -577,7 +581,7 @@ BEGIN -- DISPLAY ON OFF DPO_ZL.CLK = PIXEL_CLK; DPO_ZL = (VVCNT[]>RAND_OBEN[]-1) & (VVCNT[]=(VDIS_START[]-1)) & (VVCNT[]