Subversion Repositories pentevo

Rev

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

Rev 284 Rev 287
Line 39... Line 39...
39
 
39
 
40
        input  wire [ 4:0] keys_in, // keys (port FE)
40
        input  wire [ 4:0] keys_in, // keys (port FE)
41
        input  wire [ 7:0] mus_in,  // mouse (xxDF)
41
        input  wire [ 7:0] mus_in,  // mouse (xxDF)
42
        input  wire [ 4:0] kj_in,
42
        input  wire [ 4:0] kj_in,
43
 
43
 
44
        output reg  [ 2:0] border,
44
        output reg  [ 3:0] border,
45
 
45
 
46
        output reg         beeper,
46
        output reg         beeper,
47
        output reg         tapeout,
47
        output reg         tapeout,
48
 
48
 
49
        input  wire        dos,
49
        input  wire        dos,
Line 105... Line 105...
105
 
105
 
106
        reg rstsync1,rstsync2;
106
        reg rstsync1,rstsync2;
107
 
107
 
108
 
108
 
109
        localparam PORTFE = 8'hFE;
109
        localparam PORTFE = 8'hFE;
-
 
110
        localparam PORTF6 = 8'hF6;
110
        localparam PORTF7 = 8'hF7;
111
        localparam PORTF7 = 8'hF7;
111
 
112
 
112
        localparam NIDE10 = 8'h10;
113
        localparam NIDE10 = 8'h10;
113
        localparam NIDE11 = 8'h11;
114
        localparam NIDE11 = 8'h11;
114
        localparam NIDE30 = 8'h30;
115
        localparam NIDE30 = 8'h30;
Line 210... Line 211...
210
 
211
 
211
        assign loa=a[7:0];
212
        assign loa=a[7:0];
212
 
213
 
213
        always @*
214
        always @*
214
        begin
215
        begin
215
                if( (loa==PORTFE) ||
216
                if( (loa==PORTFE) || (loa==PORTF6) ||
216
                    (loa==PORTFD) ||
217
                    (loa==PORTFD) ||
217
 
218
 
218
                    (loa==NIDE10) || (loa==NIDE11) || (loa==NIDE30) || (loa==NIDE50) || (loa==NIDE70) ||
219
                    (loa==NIDE10) || (loa==NIDE11) || (loa==NIDE30) || (loa==NIDE50) || (loa==NIDE70) ||
219
                    (loa==NIDE90) || (loa==NIDEB0) || (loa==NIDED0) || (loa==NIDEF0) || (loa==NIDEC8) ||
220
                    (loa==NIDE90) || (loa==NIDEB0) || (loa==NIDED0) || (loa==NIDEF0) || (loa==NIDEC8) ||
220
 
221
 
Line 299... Line 300...
299
        always @*
300
        always @*
300
        begin
301
        begin
301
                case( loa )
302
                case( loa )
302
                PORTFE:
303
                PORTFE:
303
                        dout = { 1'b1, tape_read, 1'b0, keys_in };
304
                        dout = { 1'b1, tape_read, 1'b0, keys_in };
-
 
305
                PORTF6:
-
 
306
                        dout = { 1'b1, tape_read, 1'b0, keys_in };
304
 
307
 
305
 
308
 
306
                NIDE10,NIDE30,NIDE50,NIDE70,NIDE90,NIDEB0,NIDED0,NIDEF0,NIDEC8:
309
                NIDE10,NIDE30,NIDE50,NIDE70,NIDE90,NIDEB0,NIDED0,NIDEF0,NIDEC8:
307
                        dout = iderdeven;
310
                        dout = iderdeven;
308
                NIDE11:
311
                NIDE11:
Line 343... Line 346...
343
                endcase
346
                endcase
344
        end
347
        end
345
 
348
 
346
 
349
 
347
 
350
 
348
        assign portfe_wr    = ( (loa==PORTFE) && port_wr);
351
        assign portfe_wr    = (((loa==PORTFE) || (loa==PORTF6)) && port_wr);
349
        assign portfd_wr    = ( (loa==PORTFD) && port_wr);
352
        assign portfd_wr    = ( (loa==PORTFD) && port_wr);
350
 
353
 
351
        // F7 ports (like EFF7) are accessible in shadow mode but at addresses like EEF7, DEF7, BEF7 so that
354
        // F7 ports (like EFF7) are accessible in shadow mode but at addresses like EEF7, DEF7, BEF7 so that
352
        // there are no conflicts in shadow mode with ATM xFF7 and x7F7 ports
355
        // there are no conflicts in shadow mode with ATM xFF7 and x7F7 ports
353
        assign portf7_wr    = ( (loa==PORTF7) && (a[8]==1'b1) && port_wr && (!shadow) ) ||
356
        assign portf7_wr    = ( (loa==PORTF7) && (a[8]==1'b1) && port_wr && (!shadow) ) ||
Line 368... Line 371...
368
        begin
371
        begin
369
                if( portfe_wr )
372
                if( portfe_wr )
370
                begin
373
                begin
371
                        tapeout <= din[3];
374
                        tapeout <= din[3];
372
                        beeper  <= din[4];
375
                        beeper  <= din[4];
373
                        border  <= din[2:0];
376
                        border <= { ~a[3], din[2:0] };
374
                end
377
                end
375
        end
378
        end
376
 
379
 
377
 
380
 
378
 
381