- // ZX-Evo Base Configuration (c) NedoPC 2008,2009,2010,2011,2012,2013,2014 
- // 
- // generates horizontal vga sync, double the rate of TV horizontal sync 
-   
- /* 
-     This file is part of ZX-Evo Base Configuration firmware. 
-   
-     ZX-Evo Base Configuration firmware is free software: 
-     you can redistribute it and/or modify it under the terms of 
-     the GNU General Public License as published by 
-     the Free Software Foundation, either version 3 of the License, or 
-     (at your option) any later version. 
-   
-     ZX-Evo Base Configuration firmware is distributed in the hope that 
-     it will be useful, but WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
-     See the GNU General Public License for more details. 
-   
-     You should have received a copy of the GNU General Public License 
-     along with ZX-Evo Base Configuration firmware. 
-     If not, see <http://www.gnu.org/licenses/>. 
- */ 
-   
- `include "../include/tune.v" 
-   
- module video_vga_sync_h( 
-   
-         input  wire clk, 
-   
-         input  wire [1:0] modes_raster, 
-   
-         output reg  vga_hsync, 
-   
-         output reg  scanout_start, 
-   
-         input  wire hsync_start 
- ); 
-   
-         localparam HSYNC_END    = 10'd106; 
-         localparam SCANOUT_BEG  = 10'd156; 
-   
-         localparam HPERIOD_224 = 10'd896; 
-         localparam HPERIOD_228 = 10'd912; 
-   
-   
-   
-         reg [9:0] hcount; 
-   
-         initial 
-         begin 
-                 hcount = 9'd0; 
-                 vga_hsync = 1'b0; 
-         end 
-   
-   
-   
-         always @(posedge clk) 
-         begin 
-                         if( hsync_start ) 
-                                 hcount <= 10'd2; 
-                         else if ( hcount==( (modes_raster==2'b11) ? (HPERIOD_228-10'd1) : (HPERIOD_224-10'd1) ) ) 
-                                 hcount <= 10'd0; 
-                         else 
-                                 hcount <= hcount + 9'd1; 
-         end 
-   
-   
-         always @(posedge clk) 
-         begin 
-                 if( !hcount ) 
-                         vga_hsync <= 1'b1; 
-                 else if( hcount==HSYNC_END ) 
-                         vga_hsync <= 1'b0; 
-         end 
-   
-   
-         always @(posedge clk) 
-         begin 
-                 if( hcount==SCANOUT_BEG ) 
-                         scanout_start <= 1'b1; 
-                 else 
-                         scanout_start <= 1'b0; 
-         end 
-   
-   
- endmodule 
-   
-