- progaddr <= {progaddrh[6:0], progaddrm[7:0], progaddr[7:0]};
- {progaddrh[6:0], progaddrm[7:0], progaddr[7:0]} <= {progaddrh[6:0], progaddrm[7:0], progaddr[7:0]} + 23'b1;
+ progaddr <= {progaddrh[6:0], progaddrm[7:0], progaddrl[7:0]};
+ {progaddrh[6:0], progaddrm[7:0], progaddrl[7:0]} <= {progaddrh[6:0], progaddrm[7:0], progaddrl[7:0]} + 23'b1;
+ end
+ ADDR_PROGFLASH: if (rd || wr) begin
+ progaddr <= {progaddrh[6:0], progaddrm[7:0], progaddrl[7:0]};
+ {progaddrh[6:0], progaddrm[7:0], progaddrl[7:0]} <= {progaddrh[6:0], progaddrm[7:0], progaddrl[7:0]} + 23'b1;
+ end
+ ADDR_MBC: begin
+ mbc_emul <= data;
+ rambank <= 0;
+ rombank <= 1;