Subversion Repositories pentevo

Rev

Rev 668 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 668 Rev 684
Line 60... Line 60...
60
 
60
 
61
        input  wire        scr_page,   // screen page (bit 3 of 7FFD)
61
        input  wire        scr_page,   // screen page (bit 3 of 7FFD)
62
 
62
 
63
        input  wire        vga_on,     // vga mode ON - scandoubler activated
63
        input  wire        vga_on,     // vga mode ON - scandoubler activated
64
 
64
 
65
        input  wire        mode_60hz,
65
        input  wire [ 1:0] modes_raster, // 2'b00 - pentagon raster (71680 clocks)
-
 
66
                                         // 2'b01 - 60Hz raster
-
 
67
                                         // 2'b10 - 48k raster (69888 clocks)
-
 
68
                                         // 2'b11 - 128k raster (70908 clocks)
-
 
69
       
-
 
70
        input  wire        mode_contend_type, // 2'b0 - 48k/128k/+2 contend type (6 5 4 3 2 1 0 0)
-
 
71
                                              // 2'b1 - +2a/+3 contend type (1 0 7 6 5 4 3 2)
66
 
72
 
67
        // memory synchronization inputs
73
        // memory synchronization inputs
68
        input  wire        cbeg,
74
        input  wire        cbeg,
69
        input  wire        post_cbeg,
75
        input  wire        post_cbeg,
70
        input  wire        pre_cend,
76
        input  wire        pre_cend,
Line 100... Line 106...
100
        input  wire [ 7:0] fnt_d,
106
        input  wire [ 7:0] fnt_d,
101
        input  wire        fnt_wr,
107
        input  wire        fnt_wr,
102
 
108
 
103
        output wire [ 5:0] palcolor, // for palette readback
109
        output wire [ 5:0] palcolor, // for palette readback
104
 
110
 
105
        output wire [ 7:0] fontrom_readback
111
        output wire [ 7:0] fontrom_readback,
-
 
112
 
-
 
113
        output wire        contend // for 48k/128k contended memory emulation 
106
);
114
);
107
 
115
 
108
        // these decoded in video_modedecode.v
116
        // these decoded in video_modedecode.v
109
        wire mode_atm_n_pent;
117
        wire mode_atm_n_pent;
110
        wire mode_zx;
118
        wire mode_zx;
Line 163... Line 171...
163
        wire [ 2:0] up_paper;
171
        wire [ 2:0] up_paper;
164
        wire [ 2:0] up_ink;
172
        wire [ 2:0] up_ink;
165
        wire        up_pixel;
173
        wire        up_pixel;
166
 
174
 
167
 
175
 
-
 
176
        // border sync for 48k/128k emulation
-
 
177
        wire border_sync;
-
 
178
 
-
 
179
 
-
 
180
 
168
        // decode video modes
181
        // decode video modes
169
        video_modedecode video_modedecode(
182
        video_modedecode video_modedecode(
170
 
183
 
171
                .clk(clk),
184
                .clk(clk),
172
 
185
 
Line 196... Line 209...
196
        video_sync_v video_sync_v(
209
        video_sync_v video_sync_v(
197
 
210
 
198
                .clk(clk),
211
                .clk(clk),
199
 
212
 
200
                .mode_atm_n_pent(mode_atm_n_pent),
213
                .mode_atm_n_pent(mode_atm_n_pent),
201
                .mode_60hz(mode_60hz),
214
                .modes_raster(modes_raster),
202
 
215
 
203
                .hsync_start(hsync_start),
216
                .hsync_start(hsync_start),
204
                .line_start(line_start),
217
                .line_start(line_start),
205
                .hint_start(hint_start),
218
                .hint_start(hint_start),
206
 
219
 
Line 218... Line 231...
218
                .clk(clk),
231
                .clk(clk),
219
 
232
 
220
                .mode_atm_n_pent(mode_atm_n_pent),
233
                .mode_atm_n_pent(mode_atm_n_pent),
221
                .mode_a_text    (mode_a_text),
234
                .mode_a_text    (mode_a_text),
222
 
235
 
-
 
236
                .modes_raster     (modes_raster     ),
-
 
237
                .mode_contend_type(mode_contend_type),
223
 
238
 
224
                .init(1'b0),
239
                .init(1'b0),
225
 
240
 
226
                .pre_cend(pre_cend),
241
                .pre_cend(pre_cend),
227
                .cend    (cend    ),
242
                .cend    (cend    ),
228
 
243
 
229
 
244
 
230
                .hblank(hblank),
245
                .hblank(hblank),
231
                .hsync(hsync),
246
                .hsync(hsync),
-
 
247
                .vpix(vpix),
232
                .hpix(hpix),
248
                .hpix(hpix),
233
 
249
 
234
                .line_start(line_start),
250
                .line_start(line_start),
235
                .hsync_start(hsync_start),
251
                .hsync_start(hsync_start),
236
 
252
 
237
                .hint_start(hint_start),
253
                .hint_start(hint_start),
238
 
254
 
239
                .scanin_start(scanin_start),
255
                .scanin_start(scanin_start),
240
 
256
 
241
                .fetch_start(fetch_start),
257
                .fetch_start(fetch_start),
242
                .fetch_end  (fetch_end  )
258
                .fetch_end  (fetch_end  ),
-
 
259
 
-
 
260
                .contend(contend),
243
 
261
 
-
 
262
                .border_sync(border_sync)
244
        );
263
        );
245
 
264
 
246
 
265
 
247
        // address generation
266
        // address generation
248
        video_addrgen video_addrgen(
267
        video_addrgen video_addrgen(
Line 352... Line 371...
352
                .vpix(vpix),
371
                .vpix(vpix),
353
 
372
 
354
                .pixels(pixels),
373
                .pixels(pixels),
355
                .border(zxborder),
374
                .border(zxborder),
356
 
375
 
-
 
376
                .border_sync    (border_sync    ),
-
 
377
                .border_sync_ena(modes_raster[1]),
-
 
378
 
357
                .atm_palwr  (atm_palwr  ),
379
                .atm_palwr  (atm_palwr  ),
358
                .atm_paldata(atm_paldata),
380
                .atm_paldata(atm_paldata),
359
               
381
               
360
                .up_palsel(up_palsel),
382
                .up_palsel(up_palsel),
361
                .up_paper (up_paper ),
383
                .up_paper (up_paper ),
Line 378... Line 400...
378
 
400
 
379
                .clk(clk),
401
                .clk(clk),
380
 
402
 
381
                .hsync_start(hsync_start),
403
                .hsync_start(hsync_start),
382
 
404
               
-
 
405
                .modes_raster(modes_raster),
-
 
406
 
383
                .scanout_start(scanout_start),
407
                .scanout_start(scanout_start),
384
 
408
 
385
                .vga_hsync(vga_hsync)
409
                .vga_hsync(vga_hsync)
386
        );
410
        );
387
 
411