URL
https://opencores.org/ocsvn/rf6809/rf6809/trunk
Subversion Repositories rf6809
Compare Revisions
- This comparison shows the changes necessary to convert path
/rf6809
- from Rev 20 to Rev 21
- ↔ Reverse comparison
Rev 20 → Rev 21
/trunk/rtl/cpu/rf6809.sv
51,9 → 51,10
parameter LOAD1 = 6'd7; |
parameter LOAD2 = 6'd8; |
parameter STORE1 = 6'd9; |
parameter STORE2 = 6'd10; |
parameter OUTER_INDEXING = 6'd11; |
parameter OUTER_INDEXING2 = 6'd12; |
parameter STORE1a = 6'd10; |
parameter STORE2 = 6'd11; |
parameter OUTER_INDEXING = 6'd12; |
parameter OUTER_INDEXING2 = 6'd13; |
parameter ICACHE1 = 6'd31; |
parameter ICACHE2 = 6'd32; |
parameter ICACHE3 = 6'd33; |
130,7 → 131,13
reg sync_state,wait_state; |
wire [`LOBYTE] ccr = {ef,firqim,hf,im,nf,zf,vf,cf}; |
reg [`LOBYTE] acca,accb; |
`ifdef SUPPORT_6309 |
reg [`LOBYTE] acce,accf; |
`endif |
reg [`DBLBYTE] accd; |
`ifdef SUPPORT_6309 |
reg [`DBLBYTE] accw; |
`endif |
reg [`DBLBYTE] xr,yr,usp,ssp; |
wire [`DBLBYTE] prod = acca * accb; |
reg [`DBLBYTE] vect; |
167,6 → 174,24
reg isLEA; |
reg isRMW; |
|
function fnAddOverflow; |
input a; |
input b; |
input r; |
begin |
fnAddOverflow = (r ^ b) & (1'b1 ^ a ^ b); |
end |
endfunction |
|
function fnSubOverflow; |
input a; |
input b; |
input r; |
begin |
fnSubOverflow = (1'b1 ^ r ^ b) & (a ^ b); |
end |
endfunction |
|
// Data input path multiplexing |
reg [bitsPerByte-1:0] dati; |
always_comb |
209,6 → 234,10
(ir[bitsPerByte+5] ? 5'd2 : 5'd0) + |
(ir[bitsPerByte+6] ? 5'd2 : 5'd0) + |
(ir[bitsPerByte+7] ? (isFar ? 5'd3 : 5'd2) : 5'd0) |
`ifdef SUPPORT_6309 |
+ (ir[bitsPerByte+8] ? 5'd1 : 5'd0) + |
+ (ir[bitsPerByte+9] ? 5'd1 : 5'd0) |
`endif |
; |
// cnt = 0; |
// if (ir[8]) cnt = cnt + 5'd1; // CC |
221,10 → 250,25
// if (ir[bitsPerByte+3]) cnt = cnt + 5'd4; // PC |
end |
|
`ifdef SUPPORT_6309 |
wire isInMem = ir12==`AIM_DP || ir12==`EIM_DP || ir12==`OIM_DP || ir12==`TIM_DP || |
ir12==`AIM_NDX || ir12==`EIM_NDX || ir12==`OIM_NDX || ir12==`TIM_NDX || |
ir12==`AIM_EXT || ir12==`EIM_EXT || ir12==`OIM_EXT || ir12==`TIM_EXT |
; |
wire isRMW1 = ir12==`AIM_DP || ir12==`EIM_DP || ir12==`OIM_DP || |
ir12==`NEG_DP || ir12==`COM_DP || ir12==`LSR_DP || ir12==`ROR_DP || ir12==`ASR_DP || ir12==`ASL_DP || ir12==`ROL_DP || ir12==`DEC_DP || ir12==`INC_DP || |
ir12==`AIM_NDX || ir12==`EIM_NDX || ir12==`OIM_NDX || |
ir12==`NEG_NDX || ir12==`COM_NDX || ir12==`LSR_NDX || ir12==`ROR_NDX || ir12==`ASR_NDX || ir12==`ASL_NDX || ir12==`ROL_NDX || ir12==`DEC_NDX || ir12==`INC_NDX || |
ir12==`AIM_EXT || ir12==`EIM_EXT || ir12==`OIM_EXT || |
ir12==`NEG_EXT || ir12==`COM_EXT || ir12==`LSR_EXT || ir12==`ROR_EXT || ir12==`ASR_EXT || ir12==`ASL_EXT || ir12==`ROL_EXT || ir12==`DEC_EXT || ir12==`INC_EXT |
; |
`else |
wire isInMem = 1'b0; |
wire isRMW1 = ir12==`NEG_DP || ir12==`COM_DP || ir12==`LSR_DP || ir12==`ROR_DP || ir12==`ASR_DP || ir12==`ASL_DP || ir12==`ROL_DP || ir12==`DEC_DP || ir12==`INC_DP || |
ir12==`NEG_NDX || ir12==`COM_NDX || ir12==`LSR_NDX || ir12==`ROR_NDX || ir12==`ASR_NDX || ir12==`ASL_NDX || ir12==`ROL_NDX || ir12==`DEC_NDX || ir12==`INC_NDX || |
ir12==`NEG_EXT || ir12==`COM_EXT || ir12==`LSR_EXT || ir12==`ROR_EXT || ir12==`ASR_EXT || ir12==`ASL_EXT || ir12==`ROL_EXT || ir12==`DEC_EXT || ir12==`INC_EXT |
; |
`endif |
|
wire isIndexed = |
ir12[7:4]==4'h6 || ir12[7:4]==4'hA || ir12[7:4]==4'hE || |
434,8 → 478,14
4'b1011: src1 <= dpr; |
4'b1100: src1 <= usppg; |
4'b1101: src1 <= 24'h0000; |
`ifdef SUPPORT_6309 |
4'b0110: src1 <= {acce[`LOBYTE],accf[`LOBYTE]}; |
4'b1110: src1 <= acce; |
4'b1111: src1 <= accf; |
`else |
4'b1110: src1 <= 24'h0000; |
4'b1111: src1 <= 24'h0000; |
`endif |
default: src1 <= 24'h0000; |
endcase |
always_comb |
452,11 → 502,25
4'b1011: src2 <= dpr; |
4'b1100: src2 <= usppg; |
4'b1101: src2 <= 24'h0000; |
`ifdef SUPPORT_6309 |
4'b0110: src2 <= {acce[`LOBYTE],accf[`LOBYTE]}; |
4'b1110: src2 <= acce; |
4'b1111: src2 <= accf; |
`else |
4'b1110: src2 <= 24'h0000; |
4'b1111: src2 <= 24'h0000; |
`endif |
default: src2 <= 24'h0000; |
endcase |
|
wire [bitsPerByte*2:0] sum12 = src1 + src2; |
wire [bitsPerByte*2:0] sum12c = src1 + src2 + cf; |
wire [bitsPerByte*2-1:0] and12 = src1 & src2; |
wire [bitsPerByte*2-1:0] eor12 = src1 ^ src2; |
wire [bitsPerByte*2-1:0] or12 = src1 | src2; |
wire [bitsPerByte*2:0] dif12 = src1 - src2; |
wire [bitsPerByte*2:0] dif12c = src1 - src2 - cf; |
|
wire isAcca = ir12==`NEGA || ir12==`COMA || ir12==`LSRA || ir12==`RORA || ir12==`ASRA || ir12==`ASLA || |
ir12==`ROLA || ir12==`DECA || ir12==`INCA || ir12==`TSTA || ir12==`CLRA || |
ir12==`SUBA_IMM || ir12==`CMPA_IMM || ir12==`SBCA_IMM || ir12==`ANDA_IMM || ir12==`BITA_IMM || |
469,15 → 533,31
ir12==`LDA_EXT || ir12==`EORA_EXT || ir12==`ADCA_EXT || ir12==`ORA_EXT || ir12==`ADDA_EXT |
; |
|
`ifdef SUPPORT_6309 |
wire isAcce = ir12 == `ADDE_IMM || ir12==`ADDE_DP || ir12==`ADDE_NDX || ir12==`ADDE_EXT || ir12==`CLRE || ir12==`COME || |
ir12 == `SUBE_IMM || ir12==`SUBE_DP || ir12==`SUBE_NDX || ir12==`SUBE_EXT || |
ir12 == `LDE_IMM || ir12==`LDE_DP || ir12==`LDE_NDX || ir12==`LDE_EXT || |
ir12 == `DECE || ir12==`INCE || |
ir12 == `CMPE_IMM || ir12==`CMPE_DP || ir12==`CMPE_NDX || ir12==`CMPE_EXT |
; |
wire isAccf = ir12 == `ADDF_IMM || ir12==`ADDF_DP || ir12==`ADDF_NDX || ir12==`ADDF_EXT || ir12==`CLRF || ir12==`COMF || |
ir12 == `SUBF_IMM || ir12==`SUBF_DP || ir12==`SUBF_NDX || ir12==`SUBF_EXT || |
ir12 == `LDF_IMM || ir12==`LDF_DP || ir12==`LDF_NDX || ir12==`LDF_EXT || |
ir12 == `DECF || ir12==`INCF || |
ir12 == `CMPF_IMM || ir12==`CMPF_DP || ir12==`CMPF_NDX || ir12==`CMPF_EXT |
; |
wire [`DBLBYTE] acc = isAcce ? acce : isAccf ? accf : isAcca ? acca : accb; |
`else |
wire [`DBLBYTE] acc = isAcca ? acca : accb; |
`endif |
|
wire [`DBLBYTE] sum12 = src1 + src2; |
|
always_ff @(posedge clk_i) |
if (state==DECODE) begin |
isStore <= ir12==`STA_DP || ir12==`STB_DP || ir12==`STD_DP || ir12==`STX_DP || ir12==`STY_DP || ir12==`STU_DP || ir12==`STS_DP || |
ir12==`STA_NDX || ir12==`STB_NDX || ir12==`STD_NDX || ir12==`STX_NDX || ir12==`STY_NDX || ir12==`STU_NDX || ir12==`STS_NDX || |
ir12==`STA_EXT || ir12==`STB_EXT || ir12==`STD_EXT || ir12==`STX_EXT || ir12==`STY_EXT || ir12==`STU_EXT || ir12==`STS_EXT |
ir12==`STA_EXT || ir12==`STB_EXT || ir12==`STD_EXT || ir12==`STX_EXT || ir12==`STY_EXT || ir12==`STU_EXT || ir12==`STS_EXT || |
ir12==`STE_DP || ir12==`STE_NDX || ir12==`STE_EXT || ir12==`STF_DP || ir12==`STF_NDX || ir12==`STF_EXT || |
ir12==`STW_DP || ir12==`STW_NDX || ir12==`STW_EXT |
; |
isPULU <= ir12==`PULU; |
isPULS <= ir12==`PULS; |
498,12 → 578,18
(state==DECODE && ( |
ir12==`NOP || ir12==`ORCC || ir12==`ANDCC || ir12==`DAA || ir12==`LDMD || ir12==`TFR || ir12==`EXG || |
ir12==`NEGA || ir12==`COMA || ir12==`LSRA || ir12==`RORA || ir12==`ASRA || ir12==`ROLA || ir12==`DECA || ir12==`INCA || ir12==`TSTA || ir12==`CLRA || |
ir12==`DECE || ir12==`DECF || ir12==`DECD || ir12==`DECW || ir12==`INCE || ir12==`INCF || ir12==`INCD || ir12==`INCW || |
ir12==`NEGB || ir12==`COMB || ir12==`LSRB || ir12==`RORB || ir12==`ASRB || ir12==`ROLB || ir12==`DECB || ir12==`INCB || ir12==`TSTB || ir12==`CLRB || |
ir12==`ASLD || ir12==`TSTD || //ir12==`ADDR || |
ir12==`COME || ir12==`COMF || ir12==`COMD || ir12==`COMW || |
ir12==`ASLD || ir12==`ASRD || ir12==`TSTD || ir12==`ADDR || ir12==`ADCR || ir12==`ANDR || |
ir12==`TSTE || ir12==`TSTF || ir12==`TSTW || |
ir12==`LSRD || ir12==`LSRW || ir12==`NEGD || ir12==`ROLD || ir12==`ROLW || ir12==`RORD || ir12==`RORW || |
ir12==`SUBA_IMM || ir12==`CMPA_IMM || ir12==`SBCA_IMM || ir12==`ANDA_IMM || ir12==`BITA_IMM || ir12==`LDA_IMM || ir12==`EORA_IMM || ir12==`ADCA_IMM || ir12==`ORA_IMM || ir12==`ADDA_IMM || |
ir12==`SUBB_IMM || ir12==`CMPB_IMM || ir12==`SBCB_IMM || ir12==`ANDB_IMM || ir12==`BITB_IMM || ir12==`LDB_IMM || ir12==`EORB_IMM || ir12==`ADCB_IMM || ir12==`ORB_IMM || ir12==`ADDB_IMM || |
ir12==`ANDD_IMM || ir12==`ADDD_IMM || ir12==`ADCD_IMM || ir12==`SUBD_IMM || ir12==`SBCD_IMM || ir12==`LDD_IMM || |
ir12==`LDQ_IMM || ir12==`CMPD_IMM || ir12==`CMPX_IMM || ir12==`CMPY_IMM || ir12==`CMPU_IMM || ir12==`CMPS_IMM || |
ir12==`EORD_IMM || ir12==`ANDD_IMM || ir12==`ORD_IMM || ir12==`BITD_IMM || ir12==`ADDD_IMM || ir12==`ADCD_IMM || ir12==`SUBD_IMM || ir12==`SBCD_IMM || ir12==`LDD_IMM || ir12==`LDW_IMM || |
ir12==`LDQ_IMM || ir12==`CMPD_IMM || ir12==`CMPX_IMM || ir12==`CMPY_IMM || ir12==`CMPU_IMM || ir12==`CMPS_IMM || ir12==`CMPW_IMM || |
ir12==`LDE_IMM || ir12==`LDF_IMM || |
ir12==`SUBE_IMM || ir12==`SUBF_IMM || ir12==`SUBW_IMM || |
ir12==`BEQ || ir12==`BNE || ir12==`BMI || ir12==`BPL || ir12==`BVS || ir12==`BVC || ir12==`BRA || ir12==`BRN || |
ir12==`BHI || ir12==`BLS || ir12==`BHS || ir12==`BLO || |
ir12==`BGT || ir12==`BGE || ir12==`BLT || ir12==`BLE || |
546,13 → 632,13
; |
|
wire lock_bus = load_what==`LW_XH || load_what==`LW_YH || load_what==`LW_USPH || load_what==`LW_SSPH || |
load_what==`LW_PCH || load_what==`LW_BH || load_what==`LW_IAH || load_what==`LW_PC3124 || |
load_what==`LW_IA3124 || load_what==`LW_B3124 || |
load_what==`LW_X3124 || load_what==`LW_Y3124 || load_what==`LW_USP3124 || load_what==`LW_SSP3124 || |
load_what==`LW_PCH || load_what==`LW_BH || load_what==`LW_IAH || load_what==`LW_PC2316 || |
load_what==`LW_IA2316 || load_what==`LW_B2316 || |
load_what==`LW_X2316 || load_what==`LW_Y2316 || load_what==`LW_USP2316 || load_what==`LW_SSP2316 || |
isRMW || |
store_what==`SW_ACCDH || store_what==`SW_XH || store_what==`SW_YH || store_what==`SW_USPH || store_what==`SW_SSPH || |
store_what==`SW_PCH || store_what==`SW_PC3124 || store_what==`SW_ACCQ3124 || |
store_what==`SW_X3124 || store_what==`SW_Y3124 || store_what==`SW_USP3124 || store_what==`SW_SSP3124 |
store_what==`SW_PCH || store_what==`SW_PC2316 || store_what==`SW_ACCQ2316 || |
store_what==`SW_X2316 || store_what==`SW_Y2316 || store_what==`SW_USP2316 || store_what==`SW_SSP2316 |
; |
|
wire isPrefix = ir12==`PG2 || ir12==`PG3 || ir12==`OUTER; |
592,6 → 678,17
.hit1(hit1) |
); |
|
/* Need to account for signed division |
reg [35:0] divtbl [0:4095]; |
genvar g; |
generate begin: gDivtbl |
for (g = 0; g < 4096; g = g + 1) |
divtbl[g] = 36'h800000000 / g; |
endgenerate |
wire [`DBLBYTE] divres = ({acca,accb} * divtbl[b12]) >> 36; |
wire [11:0] divrem = {acca,accb} - divres * b12; |
*/ |
|
// For asynchronous reads, |
// The read response might come back in any order (the packets could loop |
// around in the network. |
691,7 → 788,7
else if (state==DECODE && ir12==`INT) |
nmi_edge <= 1'b0; |
|
reg [9:0] rst_cnt; |
reg [11:0] rst_cnt; |
|
always @(posedge clk_i) |
if (rst_i) begin |
767,6 → 864,7
LOAD2: tLoad2(); |
CALC: tExecute(); |
STORE1: tStore1(); |
STORE1a: tStore1a(); |
STORE2: tStore2(); |
|
// ============================================================================ |
798,6 → 896,16
store_what <= `SW_ACCB; |
ir[bitsPerByte+2] <= 1'b0; |
end |
`ifdef SUPPORT_6309 |
else if (ir[bitsPerByte+8]) begin |
store_what <= `SW_ACCE; |
ir[bitsPerByte+8] <= 1'b0; |
end |
else if (ir[bitsPerByte+9]) begin |
store_what <= `SW_ACCF; |
ir[bitsPerByte+9] <= 1'b0; |
end |
`endif |
else if (ir[bitsPerByte+3]) begin |
store_what <= `SW_DPR; |
ir[bitsPerByte+3] <= 1'b0; |
854,6 → 962,16
load_what <= `LW_ACCB; |
ir[bitsPerByte+2] <= 1'b0; |
end |
`ifdef SUPPORT_6309 |
else if (ir[bitsPerByte+8]) begin |
load_what <= `LW_ACCE; |
ir[bitsPerByte+8] <= 1'b0; |
end |
else if (ir[bitsPerByte+9]) begin |
load_what <= `LW_ACCF; |
ir[bitsPerByte+9] <= 1'b0; |
end |
`endif |
else if (ir[bitsPerByte+3]) begin |
load_what <= `LW_DPR; |
ir[bitsPerByte+3] <= 1'b0; |
1420,7 → 1538,238
`INCA,`INCB: begin res12 <= acc[`LOBYTE] + 2'd1; end |
`TSTA,`TSTB: begin res12 <= acc[`LOBYTE]; end |
`CLRA,`CLRB: begin res12 <= 13'h000; end |
|
`ifdef SUPPORT_6309 |
`TSTD: res <= {acca,accb}; |
`TSTW: res <= {acce,accf}; |
`TSTE: res12 <= acce; |
`TSTF: res12 <= accf; |
`NEGD: begin res <= -{acca,accb}; a <= 'd0; b <= {acca,accb}; end |
`INCE,`INCF: begin res12 <= acc[`LOBYTE] + 2'd1; end |
`INCD: res <= {acca,accb} + 2'd1; |
`INCW: res <= {acce,accf} + 2'd1; |
`DECE,`DECF: begin res12 <= acc[`LOBYTE] - 2'd1; end |
`DECD: res <= {acca,accb} - 2'd1; |
`DECW: res <= {acce,accf} - 2'd1; |
`COMD: res <= ~{acca,accb}; |
`COME,`COMF: res <= ~acc[`LOBYTE]; |
`COMW: res <= ~{acce,accf}; |
`CLRD: res <= 'b0; |
`CLRW: res <= 'b0; |
`CLRE: res12 <= 'b0; |
`CLRF: res12 <= 'b0; |
`ASLD: |
res <= {acca,accb,1'b0}; |
`ASRD: |
res <= {accb[0],acca[bitsPerByte-1],acca,accb[bitsPerByte-1:1]}; |
`LSRD: |
res <= {accb[0],acca,accb[bitsPerByte-1:1]}; |
`LSRW: |
res <= {accf[0],accw,accf[bitsPerByte-1:1]}; |
`ROLD: |
res <= {acca,accb,cf}; |
`ROLW: |
res <= {acce,accf,cf}; |
`RORD: |
res <= {accb[0],cf,acca,accb[bitsPerByte-1:1]}; |
`RORW: |
res <= {accf[0],cf,acce,accf[bitsPerByte-1:1]}; |
`ADDR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin {acca,accb} <= sum12; nf <= sum12[bitsPerByte*2-1]; zf <= sum12[`DBLBYTE]=='b0; cf <= sum12[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12[bitsPerByte*2-1]); end |
4'b0001: begin xr <= sum12; nf <= sum12[bitsPerByte*2-1]; zf <= sum12[`DBLBYTE]=='b0; cf <= sum12[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12[bitsPerByte*2-1]); end |
4'b0010: begin yr <= sum12; nf <= sum12[bitsPerByte*2-1]; zf <= sum12[`DBLBYTE]=='b0; cf <= sum12[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12[bitsPerByte*2-1]); end |
4'b0011: begin usp <= sum12; nf <= sum12[bitsPerByte*2-1]; zf <= sum12[`DBLBYTE]=='b0; cf <= sum12[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12[bitsPerByte*2-1]); end |
4'b0100: begin ssp <= sum12; nf <= sum12[bitsPerByte*2-1]; zf <= sum12[`DBLBYTE]=='b0; cf <= sum12[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12[bitsPerByte*2-1]); end |
4'b0101: begin pc <= sum12; nf <= sum12[bitsPerByte*2-1]; zf <= sum12[`DBLBYTE]=='b0; cf <= sum12[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12[bitsPerByte*2-1]); end |
4'b1000: begin acca <= sum12; nf <= sum12[bitsPerByte-1]; zf <= sum12[`LOBYTE]=='b0; cf <= sum12[bitsPerByte]; vf <= fnAddOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],sum12[bitsPerByte-1]); end |
4'b1001: begin accb <= sum12; nf <= sum12[bitsPerByte-1]; zf <= sum12[`LOBYTE]=='b0; cf <= sum12[bitsPerByte]; vf <= fnAddOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],sum12[bitsPerByte-1]); end |
4'b1010: |
begin |
cf <= sum12[0]; |
vf <= sum12[1]; |
zf <= sum12[2]; |
nf <= sum12[3]; |
im <= sum12[4]; |
hf <= sum12[5]; |
firqim <= sum12[6]; |
ef <= sum12[7]; |
end |
4'b1011: begin dpr <= sum12; nf <= sum12[bitsPerByte-1]; zf <= sum12[`LOBYTE]=='b0; cf <= sum12[bitsPerByte]; vf <= fnAddOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],sum12[bitsPerByte-1]); end |
endcase |
end |
`ADCR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin {acca,accb} <= sum12c; nf <= sum12c[bitsPerByte*2-1]; zf <= sum12c[`DBLBYTE]=='b0; cf <= sum12c[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12c[bitsPerByte*2-1]); end |
4'b0001: begin xr <= sum12c; nf <= sum12c[bitsPerByte*2-1]; zf <= sum12c[`DBLBYTE]=='b0; cf <= sum12c[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12c[bitsPerByte*2-1]); end |
4'b0010: begin yr <= sum12c; nf <= sum12c[bitsPerByte*2-1]; zf <= sum12c[`DBLBYTE]=='b0; cf <= sum12c[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12c[bitsPerByte*2-1]); end |
4'b0011: begin usp <= sum12c; nf <= sum12c[bitsPerByte*2-1]; zf <= sum12c[`DBLBYTE]=='b0; cf <= sum12c[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12c[bitsPerByte*2-1]); end |
4'b0100: begin ssp <= sum12c; nf <= sum12c[bitsPerByte*2-1]; zf <= sum12c[`DBLBYTE]=='b0; cf <= sum12c[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12c[bitsPerByte*2-1]); end |
4'b0101: begin pc <= sum12c; nf <= sum12c[bitsPerByte*2-1]; zf <= sum12c[`DBLBYTE]=='b0; cf <= sum12c[bitsPerByte*2]; vf <= fnAddOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],sum12c[bitsPerByte*2-1]); end |
4'b1000: begin acca <= sum12c; nf <= sum12c[bitsPerByte-1]; zf <= sum12c[`LOBYTE]=='b0; cf <= sum12c[bitsPerByte]; vf <= fnAddOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],sum12c[bitsPerByte-1]); end |
4'b1001: begin accb <= sum12c; nf <= sum12c[bitsPerByte-1]; zf <= sum12c[`LOBYTE]=='b0; cf <= sum12c[bitsPerByte]; vf <= fnAddOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],sum12c[bitsPerByte-1]); end |
4'b1010: |
begin |
cf <= sum12c[0]; |
vf <= sum12c[1]; |
zf <= sum12c[2]; |
nf <= sum12c[3]; |
im <= sum12c[4]; |
hf <= sum12c[5]; |
firqim <= sum12c[6]; |
ef <= sum12c[7]; |
end |
4'b1011: begin dpr <= sum12c; nf <= sum12c[bitsPerByte-1]; zf <= sum12c[`LOBYTE]=='b0; cf <= sum12c[bitsPerByte]; vf <= fnAddOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],sum12c[bitsPerByte-1]); end |
endcase |
end |
`ANDR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin {acca,accb} <= and12; nf <= and12[bitsPerByte*2-1]; zf <= and12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0001: begin xr <= and12; nf <= and12[bitsPerByte*2-1]; zf <= and12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0010: begin yr <= and12; nf <= and12[bitsPerByte*2-1]; zf <= and12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0011: begin usp <= and12; nf <= and12[bitsPerByte*2-1]; zf <= and12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0100: begin ssp <= and12; nf <= and12[bitsPerByte*2-1]; zf <= and12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0101: begin pc <= and12; nf <= and12[bitsPerByte*2-1]; zf <= and12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b1000: begin acca <= and12; nf <= and12[bitsPerByte-1]; zf <= and12[`LOBYTE]=='b0; vf <= 1'b0; end |
4'b1001: begin accb <= and12; nf <= and12[bitsPerByte-1]; zf <= and12[`LOBYTE]=='b0; vf <= 1'b0; end |
4'b1010: |
begin |
cf <= and12[0]; |
vf <= and12[1]; |
zf <= and12[2]; |
nf <= and12[3]; |
im <= and12[4]; |
hf <= and12[5]; |
firqim <= and12[6]; |
ef <= and12[7]; |
end |
4'b1011: begin dpr <= and12; nf <= and12[bitsPerByte-1]; zf <= and12[`LOBYTE]=='b0; vf <= 1'b0; end |
endcase |
end |
`EORR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin {acca,accb} <= eor12; nf <= eor12[bitsPerByte*2-1]; zf <= eor12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0001: begin xr <= eor12; nf <= eor12[bitsPerByte*2-1]; zf <= eor12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0010: begin yr <= eor12; nf <= eor12[bitsPerByte*2-1]; zf <= eor12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0011: begin usp <= eor12; nf <= eor12[bitsPerByte*2-1]; zf <= eor12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0100: begin ssp <= eor12; nf <= eor12[bitsPerByte*2-1]; zf <= eor12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0101: begin pc <= eor12; nf <= eor12[bitsPerByte*2-1]; zf <= eor12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b1000: begin acca <= eor12; nf <= eor12[bitsPerByte-1]; zf <= eor12[`LOBYTE]=='b0; vf <= 1'b0; end |
4'b1001: begin accb <= eor12; nf <= eor12[bitsPerByte-1]; zf <= eor12[`LOBYTE]=='b0; vf <= 1'b0; end |
4'b1010: |
begin |
cf <= eor12[0]; |
vf <= eor12[1]; |
zf <= eor12[2]; |
nf <= eor12[3]; |
im <= eor12[4]; |
hf <= eor12[5]; |
firqim <= eor12[6]; |
ef <= eor12[7]; |
end |
4'b1011: begin dpr <= eor12; nf <= eor12[bitsPerByte-1]; zf <= eor12[`LOBYTE]=='b0; vf <= 1'b0; end |
endcase |
end |
`ORR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin {acca,accb} <= or12; nf <= or12[bitsPerByte*2-1]; zf <= or12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0001: begin xr <= or12; nf <= or12[bitsPerByte*2-1]; zf <= or12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0010: begin yr <= or12; nf <= or12[bitsPerByte*2-1]; zf <= or12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0011: begin usp <= or12; nf <= or12[bitsPerByte*2-1]; zf <= or12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0100: begin ssp <= or12; nf <= or12[bitsPerByte*2-1]; zf <= or12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b0101: begin pc <= or12; nf <= or12[bitsPerByte*2-1]; zf <= or12[`DBLBYTE]=='b0; vf <= 1'b0; end |
4'b1000: begin acca <= or12; nf <= or12[bitsPerByte-1]; zf <= or12[`LOBYTE]=='b0; vf <= 1'b0; end |
4'b1001: begin accb <= or12; nf <= or12[bitsPerByte-1]; zf <= or12[`LOBYTE]=='b0; vf <= 1'b0; end |
4'b1010: |
begin |
cf <= or12[0]; |
vf <= or12[1]; |
zf <= or12[2]; |
nf <= or12[3]; |
im <= or12[4]; |
hf <= or12[5]; |
firqim <= or12[6]; |
ef <= or12[7]; |
end |
4'b1011: begin dpr <= or12; nf <= or12[bitsPerByte-1]; zf <= or12[`LOBYTE]=='b0; vf <= 1'b0; end |
endcase |
end |
`CMPR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0001: begin nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0010: begin nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0011: begin nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0100: begin nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0101: begin nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b1000: begin nf <= dif12[bitsPerByte-1]; zf <= dif12[`LOBYTE]=='b0; cf <= dif12[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12[bitsPerByte-1]); end |
4'b1001: begin nf <= dif12[bitsPerByte-1]; zf <= dif12[`LOBYTE]=='b0; cf <= dif12[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12[bitsPerByte-1]); end |
4'b1010: ; |
4'b1011: begin nf <= dif12[bitsPerByte-1]; zf <= dif12[`LOBYTE]=='b0; cf <= dif12[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12[bitsPerByte-1]); end |
endcase |
end |
`SBCR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin {acca,accb} <= dif12c; nf <= dif12c[bitsPerByte*2-1]; zf <= dif12c[`DBLBYTE]=='b0; cf <= dif12c[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12c[bitsPerByte*2-1]); end |
4'b0001: begin xr <= dif12c; nf <= dif12c[bitsPerByte*2-1]; zf <= dif12c[`DBLBYTE]=='b0; cf <= dif12c[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12c[bitsPerByte*2-1]); end |
4'b0010: begin yr <= dif12c; nf <= dif12c[bitsPerByte*2-1]; zf <= dif12c[`DBLBYTE]=='b0; cf <= dif12c[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12c[bitsPerByte*2-1]); end |
4'b0011: begin usp <= dif12c; nf <= dif12c[bitsPerByte*2-1]; zf <= dif12c[`DBLBYTE]=='b0; cf <= dif12c[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12c[bitsPerByte*2-1]); end |
4'b0100: begin ssp <= dif12c; nf <= dif12c[bitsPerByte*2-1]; zf <= dif12c[`DBLBYTE]=='b0; cf <= dif12c[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12c[bitsPerByte*2-1]); end |
4'b0101: begin pc <= dif12c; nf <= dif12c[bitsPerByte*2-1]; zf <= dif12c[`DBLBYTE]=='b0; cf <= dif12c[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12c[bitsPerByte*2-1]); end |
4'b1000: begin acca <= dif12c; nf <= dif12c[bitsPerByte-1]; zf <= dif12c[`LOBYTE]=='b0; cf <= dif12c[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12c[bitsPerByte-1]); end |
4'b1001: begin accb <= dif12c; nf <= dif12c[bitsPerByte-1]; zf <= dif12c[`LOBYTE]=='b0; cf <= dif12c[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12c[bitsPerByte-1]); end |
4'b1010: |
begin |
cf <= dif12c[0]; |
vf <= dif12c[1]; |
zf <= dif12c[2]; |
nf <= dif12c[3]; |
im <= dif12c[4]; |
hf <= dif12c[5]; |
firqim <= dif12c[6]; |
ef <= dif12c[7]; |
end |
4'b1011: begin dpr <= dif12c; nf <= dif12c[bitsPerByte-1]; zf <= dif12c[`LOBYTE]=='b0; cf <= dif12c[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12c[bitsPerByte-1]); end |
endcase |
end |
`SUBR: |
begin |
case(ir[bitsPerByte+3:bitsPerByte]) |
4'b0000: begin {acca,accb} <= dif12; nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0001: begin xr <= dif12; nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0010: begin yr <= dif12; nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0011: begin usp <= dif12; nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0100: begin ssp <= dif12; nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b0101: begin pc <= dif12; nf <= dif12[bitsPerByte*2-1]; zf <= dif12[`DBLBYTE]=='b0; cf <= dif12[bitsPerByte*2]; vf <= fnSubOverflow(src1[bitsPerByte*2-1],src2[bitsPerByte*2-1],dif12[bitsPerByte*2-1]); end |
4'b1000: begin acca <= dif12; nf <= dif12[bitsPerByte-1]; zf <= dif12[`LOBYTE]=='b0; cf <= dif12[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12[bitsPerByte-1]); end |
4'b1001: begin accb <= dif12; nf <= dif12[bitsPerByte-1]; zf <= dif12[`LOBYTE]=='b0; cf <= dif12[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12[bitsPerByte-1]); end |
4'b1010: |
begin |
cf <= dif12[0]; |
vf <= dif12[1]; |
zf <= dif12[2]; |
nf <= dif12[3]; |
im <= dif12[4]; |
hf <= dif12[5]; |
firqim <= dif12[6]; |
ef <= dif12[7]; |
end |
4'b1011: begin dpr <= dif12; nf <= dif12[bitsPerByte-1]; zf <= dif12[`LOBYTE]=='b0; cf <= dif12[bitsPerByte]; vf <= fnSubOverflow(src1[bitsPerByte-1],src2[bitsPerByte-1],dif12[bitsPerByte-1]); end |
endcase |
end |
`endif |
`ifdef SUPPORT_6309 |
`CMPE_IMM,`CMPF_IMM,`SUBE_IMM,`SUBF_IMM: |
begin res12 <= acc[`LOBYTE] - ir[`HIBYTE]; pc <= pc + 4'd2; a <= acc[`LOBYTE]; b <= ir[`HIBYTE]; end |
`LDE_IMM,`LDF_IMM: |
begin res12 <= ir[`HIBYTE]; pc <= pc + 2'd2; end |
`endif |
// Immediate mode instructions |
`SUBA_IMM,`SUBB_IMM,`CMPA_IMM,`CMPB_IMM: |
begin res12 <= acc[`LOBYTE] - ir[`HIBYTE]; pc <= pc + 4'd2; a <= acc[`LOBYTE]; b <= ir[`HIBYTE]; end |
1438,16 → 1787,63
begin res12 <= acc[`LOBYTE] | ir[`HIBYTE]; pc <= pc + 2'd2; a <= acc[`LOBYTE]; b <= ir[`HIBYTE]; end |
`ADDA_IMM,`ADDB_IMM: |
begin res12 <= acc[`LOBYTE] + ir[`HIBYTE]; pc <= pc + 2'd2; a <= acc[`LOBYTE]; b <= ir[`HIBYTE]; end |
`ifdef SUPPORT_6309 |
`BITD_IMM, |
`ANDD_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} & {ir[`BYTE2],ir[`BYTE3]}; |
pc <= pc + 32'd3; |
end |
`EORD_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} ^ {ir[`BYTE2],ir[`BYTE3]}; |
pc <= pc + 32'd3; |
end |
`ORD_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} | {ir[`BYTE2],ir[`BYTE3]}; |
pc <= pc + 32'd3; |
end |
`endif |
`ADDD_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} + {ir[`HIBYTE],ir[`BYTE3]}; |
pc <= pc + 2'd3; |
end |
`ifdef SUPPORT_6309 |
`ADDW_IMM: |
begin |
res <= {acce[`LOBYTE],accf[`LOBYTE]} + {ir[`HIBYTE],ir[`BYTE3]}; |
pc <= pc + 2'd3; |
end |
`ADCD_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} + {ir[`BYTE2],ir[`BYTE3]} + {23'b0,cf}; |
pc <= pc + 32'd3; |
end |
`endif |
`SUBD_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} + {ir[`HIBYTE],ir[`BYTE3]}; |
res <= {acca[`LOBYTE],accb[`LOBYTE]} - {ir[`HIBYTE],ir[`BYTE3]}; |
pc <= pc + 2'd3; |
end |
`SUBD_IMM: |
`ifdef SUPPORT_6309 |
`SUBW_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} - {ir[`HIBYTE],ir[`BYTE3]}; |
res <= {acce[`LOBYTE],accf[`LOBYTE]} - {ir[`HIBYTE],ir[`BYTE3]}; |
pc <= pc + 2'd3; |
end |
`SBCD_IMM: |
begin |
res <= {acca[`LOBYTE],accb[`LOBYTE]} - {ir[`BYTE2],ir[`BYTE3]} - {23'b0,cf}; |
pc <= pc + 32'd3; |
end |
`LDW_IMM: |
begin |
res <= {ir[`HIBYTE],ir[`BYTE3]}; |
pc <= pc + 2'd3; |
end |
`endif |
`LDD_IMM: |
begin |
res <= {ir[`HIBYTE],ir[`BYTE3]}; |
1466,6 → 1862,15
a <= {acca[`LOBYTE],accb[`LOBYTE]}; |
b <= {ir[`HIBYTE],ir[`BYTE3]}; |
end |
`ifdef SUPPORT_6309 |
`CMPW_IMM: |
begin |
res <= {acce[`LOBYTE],accf[`LOBYTE]} - {ir[`HIBYTE],ir[`BYTE3]}; |
pc <= pc + 2'd3; |
a <= {acce[`LOBYTE],accf[`LOBYTE]}; |
b <= {ir[`HIBYTE],ir[`BYTE3]}; |
end |
`endif |
`CMPX_IMM: |
begin |
res <= xr[`DBLBYTE] - {ir[`HIBYTE],ir[`BYTE3]}; |
1503,6 → 1908,11
pc <= pc + 2'd2; |
next_state(LOAD1); |
end |
`ifdef SUPPORT_6309 |
`CMPE_DP,`CMPF_DP, |
`LDE_DP,`LDF_DP, |
`SUBE_DP,`SUBF_DP, |
`endif |
`SUBA_DP,`CMPA_DP,`SBCA_DP,`ANDA_DP,`BITA_DP,`LDA_DP,`EORA_DP,`ADCA_DP,`ORA_DP,`ADDA_DP, |
`SUBB_DP,`CMPB_DP,`SBCB_DP,`ANDB_DP,`BITB_DP,`LDB_DP,`EORB_DP,`ADCB_DP,`ORB_DP,`ADDB_DP: |
begin |
1511,6 → 1921,21
pc <= pc + 2'd2; |
next_state(LOAD1); |
end |
`ifdef SUPPORT_6309 |
`BITD_DP, |
`ANDD_DP, |
`ORD_DP, |
`EORD_DP: |
begin |
load_what <= `LW_BL; |
radr <= dp_address; |
pc <= pc + 2'd2; |
next_state(LOAD1); |
end |
`endif |
`ifdef SUPPORT_6309 |
`ADDW_DP,`CMPW_DP,`LDW_DP,`SUBW_DP, |
`endif |
`SUBD_DP,`ADDD_DP,`LDD_DP,`CMPD_DP,`ADCD_DP,`SBCD_DP: |
begin |
load_what <= `LW_BH; |
1538,6 → 1963,11
`STS_DP: dp_store(`SW_SSPH); |
`STX_DP: dp_store(`SW_XH); |
`STY_DP: dp_store(`SW_YH); |
`ifdef SUPPORT_6309 |
`STW_DP: dp_store(`SW_ACCWH); |
`STE_DP: dp_store(`SW_ACCE); |
`STF_DP: dp_store(`SW_ACCF); |
`endif |
// Indexed mode instructions |
`NEG_NDX,`COM_NDX,`LSR_NDX,`ROR_NDX,`ASR_NDX,`ASL_NDX,`ROL_NDX,`DEC_NDX,`INC_NDX,`TST_NDX: |
begin |
1555,6 → 1985,11
next_state(LOAD1); |
end |
end |
`ifdef SUPPORT_6309 |
`CMPE_NDX,`CMPF_NDX, |
`LDE_NDX,`LDF_NDX, |
`SUBE_NDX,`SUBF_NDX, |
`endif |
`SUBA_NDX,`CMPA_NDX,`SBCA_NDX,`ANDA_NDX,`BITA_NDX,`LDA_NDX,`EORA_NDX,`ADCA_NDX,`ORA_NDX,`ADDA_NDX, |
`SUBB_NDX,`CMPB_NDX,`SBCB_NDX,`ANDB_NDX,`BITB_NDX,`LDB_NDX,`EORB_NDX,`ADCB_NDX,`ORB_NDX,`ADDB_NDX: |
begin |
1572,6 → 2007,30
next_state(LOAD1); |
end |
end |
`ifdef SUPPORT_6309 |
`BITD_NDX, |
`ANDD_NDX, |
`ORD_NDX, |
`EORD_NDX: |
begin |
pc <= pc + insnsz; |
if (isIndirect) begin |
load_what <= isFar ? `LW_IA2316 : `LW_IAH; |
load_what2 <= `LW_BL; |
radr <= NdxAddr; |
next_state(LOAD1); |
end |
else begin |
b <= 24'd0; |
load_what <= `LW_BL; |
radr <= NdxAddr; |
next_state(LOAD1); |
end |
end |
`endif |
`ifdef SUPPORT_6309 |
`ADDW_NDX,`CMPW_NDX,`LDW_NDX,`SUBW_NDX, |
`endif |
`SUBD_NDX,`ADDD_NDX,`LDD_NDX,`CMPD_NDX,`ADCD_NDX,`SBCD_NDX: |
begin |
pc <= pc + insnsz; |
1615,7 → 2074,37
`STS_NDX: indexed_store(`SW_SSPH); |
`STX_NDX: indexed_store(`SW_XH); |
`STY_NDX: indexed_store(`SW_YH); |
|
`ifdef SUPPORT_6309 |
`STW_NDX: indexed_store(`SW_ACCWH); |
`STE_NDX: indexed_store(`SW_ACCE); |
`STF_NDX: indexed_store(`SW_ACCF); |
`AIM_DP,`EIM_DP,`OIM_DP,`TIM_DP: |
begin |
load_what <= `LW_BL; |
pc <= pc + 4'd3; |
radr <= dp_address; |
next_state(LOAD1); |
end |
`AIM_NDX,`EIM_NDX,`OIM_NDX,`TIM_NDX: |
begin |
pc <= pc + insnsz + 4'd1; |
if (isIndirect) begin |
load_what <= isFar ? `LW_IA2316 : `LW_IAH; |
load_what2 <= `LW_BL; |
radr <= NdxAddr; |
next_state(LOAD1); |
end |
else begin |
b <= 'd0; |
load_what <= `LW_BL; |
radr <= NdxAddr; |
next_state(LOAD1); |
end |
end |
`endif |
`ifdef SUPPORT_6309 |
`AIM_EXT,`OIM_EXT,`EIM_EXT,`TIM_EXT, |
`endif |
// Extended mode instructions |
`NEG_EXT,`COM_EXT,`LSR_EXT,`ROR_EXT,`ASR_EXT,`ASL_EXT,`ROL_EXT,`DEC_EXT,`INC_EXT,`TST_EXT: |
begin |
1624,6 → 2113,11
pc <= pc + (isFar ? 32'd4 : 32'd3); |
next_state(LOAD1); |
end |
`ifdef SUPPORT_6309 |
`CMPE_EXT,`CMPF_EXT, |
`LDE_EXT,`LDF_EXT, |
`SUBE_EXT,`SUBF_EXT, |
`endif |
`SUBA_EXT,`CMPA_EXT,`SBCA_EXT,`ANDA_EXT,`BITA_EXT,`LDA_EXT,`EORA_EXT,`ADCA_EXT,`ORA_EXT,`ADDA_EXT, |
`SUBB_EXT,`CMPB_EXT,`SBCB_EXT,`ANDB_EXT,`BITB_EXT,`LDB_EXT,`EORB_EXT,`ADCB_EXT,`ORB_EXT,`ADDB_EXT: |
begin |
1632,6 → 2126,21
pc <= pc + (isFar ? 32'd4 : 32'd3); |
next_state(LOAD1); |
end |
`ifdef SUPPORT_6309 |
`BITD_EXT, |
`ANDD_EXT, |
`ORD_EXT, |
`EORD_EXT: |
begin |
load_what <= `LW_BL; |
radr <= ex_address; |
pc <= pc + (isFar ? 32'd4 : 32'd3); |
next_state(LOAD1); |
end |
`endif |
`ifdef SUPPORT_6309 |
`ADDW_EXT,`CMPW_EXT,`LDW_EXT,`SUBW_EXT, |
`endif |
`SUBD_EXT,`ADDD_EXT,`LDD_EXT,`CMPD_EXT,`ADCD_EXT,`SBCD_EXT: |
begin |
load_what <= `LW_BH; |
1659,7 → 2168,11
`STS_EXT: ex_store(`SW_SSPH); |
`STX_EXT: ex_store(`SW_XH); |
`STY_EXT: ex_store(`SW_YH); |
|
`ifdef SUPPORT_6309 |
`STW_EXT: ex_store(`SW_ACCWH); |
`STE_EXT: ex_store(`SW_ACCE); |
`STF_EXT: ex_store(`SW_ACCF); |
`endif |
`BSR: |
begin |
store_what <= `SW_PCH; |
1940,6 → 2453,21
a <= {acca[`LOBYTE],accb[`LOBYTE]}; |
res <= {acca[`LOBYTE],accb[`LOBYTE]} + b[`DBLBYTE]; |
end |
`ifdef SUPPORT_6309 |
`SUBW_DP,`SUBW_NDX,`SUBW_EXT, |
`CMPW_DP,`CMPW_NDX,`CMPW_EXT: |
begin |
a <= {acce[`LOBYTE],accf[`LOBYTE]}; |
res <= {acce[`LOBYTE],accf[`LOBYTE]} - b[`DBLBYTE]; |
end |
`ADDW_DP,`ADDW_NDX,`ADDW_EXT: |
begin |
a <= {acce[`LOBYTE],accf[`LOBYTE]}; |
res <= {acce[`LOBYTE],accf[`LOBYTE]} + b[`DBLBYTE]; |
end |
`LDW_DP,`LDW_NDX,`LDW_EXT: |
res <= b[`DBLBYTE]; |
`endif |
`ADCD_DP,`ADCD_NDX,`ADCD_EXT: |
begin |
a <= {acca[`LOBYTE],accb[`LOBYTE]}; |
1947,7 → 2475,12
end |
`LDD_DP,`LDD_NDX,`LDD_EXT: |
res <= b[`DBLBYTE]; |
|
`ifdef SUPPORT_6309 |
`CMPE_DP,`CMPE_NDX,`CMPE_EXT, |
`CMPF_DP,`CMPF_NDX,`CMPF_EXT, |
`SUBE_DP,`SUBE_NDX,`SUBE_EXT, |
`SUBF_DP,`SUBF_NDX,`SUBF_EXT, |
`endif |
`CMPA_DP,`CMPA_NDX,`CMPA_EXT, |
`SUBA_DP,`SUBA_NDX,`SUBA_EXT, |
`CMPB_DP,`CMPB_NDX,`CMPB_EXT, |
1968,6 → 2501,18
`BITB_DP,`BITB_NDX,`BITB_EXT, |
`ANDB_DP,`ANDB_NDX,`ANDB_EXT: |
res12 <= acc[`LOBYTE] & b12; |
`ifdef SUPPORT_6309 |
`BITD_DP,`BITD_NDX,`BITD_EXT, |
`ANDD_DP,`ANDD_NDX,`ANDD_EXT: |
res <= {acca[`LOBYTE],accb[`LOBYTE]} & b[`DBLBYTE]; |
`EORD_DP,`EORD_NDX,`EORD_EXT: |
res <= {acca[`LOBYTE],accb[`LOBYTE]} ^ b[`DBLBYTE]; |
`ORD_DP,`ORD_NDX,`ORD_EXT: |
res <= {acca[`LOBYTE],accb[`LOBYTE]} | b[`DBLBYTE]; |
`LDE_DP,`LDE_NDX,`LDE_EXT, |
`LDF_DP,`LDF_NDX,`LDF_EXT: |
res12 <= b12; |
`endif |
`LDA_DP,`LDA_NDX,`LDA_EXT, |
`LDB_DP,`LDB_NDX,`LDB_EXT: |
res12 <= b12; |
1983,6 → 2528,10
`ORA_DP,`ORA_NDX,`ORA_EXT, |
`ORB_DP,`ORB_NDX,`ORB_EXT: |
res12 <= acc[`LOBYTE] | b12; |
`ifdef SUPPORT_6309 |
`ADDE_DP,`ADDE_NDX,`ADDE_EXT, |
`ADDF_DP,`ADDF_NDX,`ADDF_EXT, |
`endif |
`ADDA_DP,`ADDA_NDX,`ADDA_EXT, |
`ADDB_DP,`ADDB_NDX,`ADDB_EXT: |
begin |
2008,12 → 2557,12
`DEC_DP,`DEC_NDX,`DEC_EXT: begin res12 <= b12 - 2'd1; wadr <= radr; store_what <= `SW_RES8; next_state(STORE1); end |
`INC_DP,`INC_NDX,`INC_EXT: begin res12 <= b12 + 2'd1; wadr <= radr; store_what <= `SW_RES8; next_state(STORE1); end |
`TST_DP,`TST_NDX,`TST_EXT: res12 <= b12; |
/* |
`ifdef SUPPORT_6309 |
`AIM_DP,`AIM_NDX,`AIM_EXT: begin res12 <= ir[`HIBYTE] & b12; wadr <= radr; store_what <= `SW_RES8; next_state(STORE1); end |
`OIM_DP,`OIM_NDX,`OIM_EXT: begin res12 <= ir[`HIBYTE] | b12; wadr <= radr; store_what <= `SW_RES8; next_state(STORE1); end |
`EIM_DP,`EIM_NDX,`OIM_EXT: begin res12 <= ir[`HIBYTE] ^ b12; wadr <= radr; store_what <= `SW_RES8; next_state(STORE1); end |
`TIM_DP,`TIM_NDX,`TIM_EXT: begin res12 <= ir[`HIBYTE] & b12; end |
*/ |
`endif |
default: ; |
endcase |
end |
2038,6 → 2587,12
`SW_ACCDL: wb_write(wadr,accb[`LOBYTE]); |
`SW_ACCA: wb_write(wadr,acca[`LOBYTE]); |
`SW_ACCB: wb_write(wadr,accb[`LOBYTE]); |
`ifdef SUPPORT_6309 |
`SW_ACCWH: wb_write(wadr,acce[`LOBYTE]); |
`SW_ACCWL: wb_write(wadr,accf[`LOBYTE]); |
`SW_ACCE: wb_write(wadr,acce[`LOBYTE]); |
`SW_ACCF: wb_write(wadr,accf[`LOBYTE]); |
`endif |
`SW_DPR: wb_write(wadr,dpr); |
`SW_XL: wb_write(wadr,xr[`LOBYTE]); |
`SW_XH: wb_write(wadr,xr[`HIBYTE]); |
2061,12 → 2616,22
radr <= wadr; // Do a cache read to test the hit |
`endif |
if (!tsc) |
next_state(STORE2); |
next_state(STORE1a); |
end |
end |
end |
endtask |
|
task tStore1a; |
begin |
if (!tsc) begin |
cyc_o <= 1'b1; |
stb_o <= 1'b1; |
next_state(STORE2); |
end |
end |
endtask |
|
// Terminal state for stores. Update the data cache if there was a cache hit. |
// Clear any previously set lock status |
task tStore2; |
2100,6 → 2665,24
next_state(PUSH2); |
else // STB |
next_state(IFETCH); |
`ifdef SUPPORT_6309 |
`SW_ACCE: |
if (isINT | isPSHS | isPSHU) |
next_state(PUSH2); |
else // STE |
next_state(IFETCH); |
`SW_ACCF: |
if (isINT | isPSHS | isPSHU) |
next_state(PUSH2); |
else // STF |
next_state(IFETCH); |
`SW_ACCWH: |
begin |
store_what <= `SW_ACCWL; |
next_state(STORE1); |
end |
`SW_ACCWL: next_state(IFETCH); |
`endif |
`SW_ACCDH: |
begin |
store_what <= `SW_ACCDL; |
2234,6 → 2817,26
zf <= res12[`LOBYTE]==12'h000; |
accb <= res12[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`ADDE_IMM,`ADDE_DP,`ADDE_NDX,`ADDE_EXT: |
begin |
cf <= (a[BPBM1]&b[BPBM1])|(a[BPBM1]&~res12[BPBM1])|(b[BPBM1]&~res12[BPBM1]); |
hf <= (a[`HCBIT]&b[`HCBIT])|(a[`HCBIT]&~res12[`HCBIT])|(b[`HCBIT]&~res12[`HCBIT]); |
vf <= (res12[BPBM1] ^ b[BPBM1]) & (1'b1 ^ a[BPBM1] ^ b[BPBM1]); |
nf <= res12[BPBM1]; |
zf <= res12[`LOBYTE]==12'h000; |
accf <= res12[`LOBYTE]; |
end |
`ADDF_IMM,`ADDF_DP,`ADDF_NDX,`ADDF_EXT: |
begin |
cf <= (a[BPBM1]&b[BPBM1])|(a[BPBM1]&~res12[BPBM1])|(b[BPBM1]&~res12[BPBM1]); |
hf <= (a[`HCBIT]&b[`HCBIT])|(a[`HCBIT]&~res12[`HCBIT])|(b[`HCBIT]&~res12[`HCBIT]); |
vf <= (res12[BPBM1] ^ b[BPBM1]) & (1'b1 ^ a[BPBM1] ^ b[BPBM1]); |
nf <= res12[BPBM1]; |
zf <= res12[`LOBYTE]==12'h000; |
acce <= res12[`LOBYTE]; |
end |
`endif |
`ADDD_IMM,`ADDD_DP,`ADDD_NDX,`ADDD_EXT: |
begin |
cf <= (a[BPBX2M1]&b[BPBX2M1])|(a[BPBX2M1]&~res[BPBX2M1])|(b[BPBX2M1]&~res[BPBX2M1]); |
2243,6 → 2846,35
acca <= res[`HIBYTE]; |
accb <= res[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`ADDW_IMM,`ADDW_DP,`ADDW_NDX,`ADDW_EXT: |
begin |
cf <= (a[BPBX2M1]&b[BPBX2M1])|(a[BPBX2M1]&~res[BPBX2M1])|(b[BPBX2M1]&~res[BPBX2M1]); |
vf <= (res[BPBX2M1] ^ b[BPBX2M1]) & (1'b1 ^ a[BPBX2M1] ^ b[BPBX2M1]); |
nf <= res[BPBX2M1]; |
zf <= res[`DBLBYTE]==24'h000000; |
acce <= res[`HIBYTE]; |
accf <= res[`LOBYTE]; |
end |
`ADCD_IMM,`ADCD_DP,`ADCD_NDX,`ADCD_EXT: |
begin |
cf <= (a[BPBX2M1]&b[BPBX2M1])|(a[BPBX2M1]&~res[BPBX2M1])|(b[BPBX2M1]&~res[BPBX2M1]); |
vf <= (res[BPBX2M1] ^ b[BPBX2M1]) & (1'b1 ^ a[BPBX2M1] ^ b[BPBX2M1]); |
nf <= res[BPBX2M1]; |
zf <= res[`DBLBYTE]==24'h0000; |
acca <= res[`HIBYTE]; |
accb <= res[`LOBYTE]; |
end |
`OIM_DP,`OIM_NDX,`OIM_EXT, |
`EIM_DP,`EIM_NDX,`EIM_EXT, |
`TIM_DP,`TIM_NDX,`TIM_EXT, |
`AIM_DP,`AIM_NDX,`AIM_EXT: |
begin |
vf <= 1'b0; |
nf <= res12n; |
zf <= res12z; |
end |
`endif |
`ANDA_IMM,`ANDA_DP,`ANDA_NDX,`ANDA_EXT: |
begin |
nf <= res12n; |
2257,6 → 2889,24
vf <= 1'b0; |
accb <= res12[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`ORD_IMM,`ORD_DP,`ORD_NDX,`ORD_EXT, |
`EORD_IMM,`EORD_DP,`EORD_NDX,`EORD_EXT, |
`ANDD_IMM,`ANDD_DP,`ANDD_NDX,`ANDD_EXT: |
begin |
nf <= res24n; |
zf <= res24z; |
vf <= 1'b0; |
acca <= res[`HIBYTE]; |
accb <= res[`LOBYTE]; |
end |
`BITD_IMM,`BITD_DP,`BITD_NDX,`BITD_EXT: |
begin |
nf <= res24n; |
zf <= res24z; |
vf <= 1'b0; |
end |
`endif |
`ASLA: |
begin |
cf <= res12c; |
2275,6 → 2925,53
zf <= res12[`LOBYTE]==12'h000; |
accb <= res12[`LOBYTE]; |
end |
`ifdef H6309 |
`ASLD,`ROLD: |
begin |
cf <= resc; |
nf <= resn; |
zf <= resz; |
vf <= acca[bitsPerByte-1]^acca[bitsPerByte-2]; |
acca <= res[`HIBYTE]; |
accb <= res[`LOBYTE]; |
end |
`ASRD: |
begin |
cf <= resc; |
nf <= resn; |
zf <= resz; |
vf <= acca[bitsPerByte-1]^acca[bitsPerByte-2]; |
acca <= res[`HIBYTE]; |
accb <= res[`LOBYTE]; |
end |
`LSRD,`RORD: |
begin |
cf <= resc; |
nf <= resn; |
zf <= resz; |
vf <= acca[bitsPerByte-1]^acca[bitsPerByte-2]; |
acca <= res[`HIBYTE]; |
accb <= res[`LOBYTE]; |
end |
`LSRW: |
begin |
cf <= resc; |
nf <= resn; |
zf <= resz; |
vf <= acce[bitsPerByte-1]^acce[bitsPerByte-2]; |
acce <= res[`HIBYTE]; |
accf <= res[`LOBYTE]; |
end |
`ROLW,`RORW: |
begin |
cf <= resc; |
nf <= resn; |
zf <= resz; |
vf <= acce[bitsPerByte-1]^acce[bitsPerByte-2]; |
acce <= res[`HIBYTE]; |
accf <= res[`LOBYTE]; |
end |
`endif |
`ASL_DP,`ASL_NDX,`ASL_EXT: |
begin |
cf <= res12c; |
2329,6 → 3026,42
zf <= 1'b1; |
accb <= 12'h000; |
end |
`ifdef SUPPORT_6309 |
`CLRD: |
begin |
vf <= 1'b0; |
cf <= 1'b0; |
nf <= 1'b0; |
zf <= 1'b1; |
acca <= 12'h000; |
accb <= 12'h000; |
end |
`CLRW: |
begin |
vf <= 1'b0; |
cf <= 1'b0; |
nf <= 1'b0; |
zf <= 1'b1; |
acce <= 12'h000; |
accf <= 12'h000; |
end |
`CLRE: |
begin |
vf <= 1'b0; |
cf <= 1'b0; |
nf <= 1'b0; |
zf <= 1'b1; |
acce <= 12'h000; |
end |
`CLRF: |
begin |
vf <= 1'b0; |
cf <= 1'b0; |
nf <= 1'b0; |
zf <= 1'b1; |
accf <= 12'h000; |
end |
`endif |
`CLR_DP,`CLR_NDX,`CLR_EXT: |
begin |
vf <= 1'b0; |
2336,6 → 3069,10
nf <= 1'b0; |
zf <= 1'b1; |
end |
`ifdef SUPPORT_6309 |
`CMPE_IMM,`CMPE_DP,`CMPE_NDX,`CMPE_EXT, |
`CMPF_IMM,`CMPF_DP,`CMPF_NDX,`CMPF_EXT, |
`endif |
`CMPA_IMM,`CMPA_DP,`CMPA_NDX,`CMPA_EXT, |
`CMPB_IMM,`CMPB_DP,`CMPB_NDX,`CMPB_EXT: |
begin |
2345,6 → 3082,9
nf <= res12[BPBM1]; |
zf <= res12[`LOBYTE]==12'h000; |
end |
`ifdef SUPPORT_6309 |
`CMPW_IMM,`CMPW_DP,`CMPW_NDX,`CMPW_EXT, |
`endif |
`CMPD_IMM,`CMPD_DP,`CMPD_NDX,`CMPD_EXT: |
begin |
cf <= (~a[BPBX2M1]&b[BPBX2M1])|(res[BPBX2M1]&~a[BPBX2M1])|(res[BPBX2M1]&b[BPBX2M1]); |
2378,6 → 3118,40
zf <= res12z; |
accb <= res12[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`COME: |
begin |
cf <= 1'b1; |
vf <= 1'b0; |
nf <= res12n; |
zf <= res12z; |
acce <= res12[`LOBYTE]; |
end |
`COMF: |
begin |
cf <= 1'b1; |
vf <= 1'b0; |
nf <= res12n; |
zf <= res12z; |
accf <= res12[`LOBYTE]; |
end |
`COMD: |
begin |
cf <= 1'b1; |
vf <= 1'b0; |
nf <= res24n; |
zf <= res24z; |
{acca,accb} <= res; |
end |
`COMW: |
begin |
cf <= 1'b1; |
vf <= 1'b0; |
nf <= res24n; |
zf <= res24z; |
{acce,accf} <= res; |
end |
`endif |
`COM_DP,`COM_NDX,`COM_EXT: |
begin |
cf <= 1'b1; |
2407,6 → 3181,36
vf <= res12[BPBM1] != accb[BPBM1]; |
accb <= res12[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`DECE: |
begin |
nf <= res12n; |
zf <= res12z; |
vf <= res12[BPBM1] != acce[BPBM1]; |
acce <= res12[`LOBYTE]; |
end |
`DECF: |
begin |
nf <= res12n; |
zf <= res12z; |
vf <= res12[BPBM1] != accf[BPBM1]; |
accf <= res12[`LOBYTE]; |
end |
`DECD: |
begin |
nf <= res24n; |
zf <= res24z; |
vf <= res[bitsPerByte*2-1] != acca[bitsPerByte-1]; |
{acca,accb} <= res; |
end |
`DECW: |
begin |
nf <= res24n; |
zf <= res24z; |
vf <= res[bitsPerByte*2-1] != acce[bitsPerByte-1]; |
{acce,accf} <= res; |
end |
`endif |
`DEC_DP,`DEC_NDX,`DEC_EXT: |
begin |
nf <= res12n; |
2456,8 → 3260,15
ef <= src1[7]; |
end |
4'b1011: dpr <= src1[`LOBYTE]; |
4'b1110: usppg <= src1[`DBLBYTE]; |
4'b1100: usppg <= src1[`DBLBYTE]; |
`ifdef SUPPORT_6309 |
4'b0110: {acce,accf} <= src1[`DBLBYTE]; |
4'b1110: acce <= src1[`LOBYTE]; |
4'b1111: accf <= src1[`LOBYTE]; |
`else |
4'b1110: ; |
4'b1111: ; |
`endif |
default: ; |
endcase |
case(ir[bitsPerByte+7:bitsPerByte+4]) |
2485,8 → 3296,14
ef <= src2[7]; |
end |
4'b1011: dpr <= src2[`LOBYTE]; |
4'b1110: usppg <= src2[`DBLBYTE]; |
4'b1100: usppg <= src2[`DBLBYTE]; |
`ifdef SUPPORT_6309 |
4'b1110: acce <= src2[`LOBYTE]; |
4'b1111: accf <= src2[`LOBYTE]; |
`else |
4'b1110: ; |
4'b1111: ; |
`endif |
default: ; |
endcase |
end |
2504,6 → 3321,50
vf <= res12[BPBM1] != accb[BPBM1]; |
accb <= res12[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`INCE: |
begin |
nf <= res12n; |
zf <= res12z; |
vf <= res12[BPBM1] != acce[BPBM1]; |
acce <= res12[`LOBYTE]; |
end |
`INCF: |
begin |
nf <= res12n; |
zf <= res12z; |
vf <= res12[BPBM1] != accf[BPBM1]; |
accf <= res12[`LOBYTE]; |
end |
`INCD: |
begin |
nf <= res24n; |
zf <= res24z; |
vf <= res[bitsPerByte*2-1] != acca[bitsPerByte-1]; |
{acca,accb} <= res[`LOBYTE]; |
end |
`INCW: |
begin |
nf <= res24n; |
zf <= res24z; |
vf <= res[bitsPerByte*2-1] != acce[bitsPerByte-1]; |
{acce,accf} <= res[`LOBYTE]; |
end |
`LDE_IMM,`LDE_DP,`LDE_NDX,`LDE_EXT: |
begin |
vf <= 1'b0; |
zf <= res12z; |
nf <= res12n; |
acce <= res12[`LOBYTE]; |
end |
`LDF_IMM,`LDF_DP,`LDF_NDX,`LDF_EXT: |
begin |
vf <= 1'b0; |
zf <= res12z; |
nf <= res12n; |
accf <= res12[`LOBYTE]; |
end |
`endif |
`INC_DP,`INC_NDX,`INC_EXT: |
begin |
nf <= res12n; |
2532,6 → 3393,16
acca <= res[`HIBYTE]; |
accb <= res[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`LDW_IMM,`LDW_DP,`LDW_NDX,`LDW_EXT: |
begin |
vf <= 1'b0; |
zf <= res24z; |
nf <= res24n; |
acce <= res[`HIBYTE]; |
accf <= res[`LOBYTE]; |
end |
`endif |
`LDU_IMM,`LDU_DP,`LDU_NDX,`LDU_EXT: |
begin |
vf <= 1'b0; |
2620,6 → 3491,17
zf <= res12[`LOBYTE]==12'h000; |
accb <= res12[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`NEGD: |
begin |
cf <= (~a[bitsPerByte*2-1]&b[bitsPerByte*2-1])|(res[bitsPerByte*2-1]&~a[bitsPerByte*2-1])|(res[bitsPerByte*2-1]&b[bitsPerByte*2-1]); |
hf <= (~a[`HCBIT]&b[`HCBIT])|(res[`HCBIT]&~a[`HCBIT])|(res[`HCBIT]&b[`HCBIT]); |
vf <= (1'b1 ^ res[bitsPerByte*2-1] ^ b[bitsPerByte*2-1]) & (a[bitsPerByte*2-1] ^ b[bitsPerByte*2-1]); |
nf <= res[bitsPerByte*2-1]; |
zf <= res[`DBLBYTE]=='h0; |
{acca,accb} <= res; |
end |
`endif |
`NEG_DP,`NEG_NDX,`NEG_EXT: |
begin |
cf <= (~a[BPBM1]&b[BPBM1])|(res12[BPBM1]&~a[BPBM1])|(res12[BPBM1]&b[BPBM1]); |
2699,6 → 3581,10
zf <= res12z; |
acca <= res12[`LOBYTE]; |
end |
`ifdef SUPPORT_6309 |
`STE_DP,`STE_NDX,`STE_EXT, |
`STF_DP,`STF_NDX,`STF_EXT, |
`endif |
`STA_DP,`STA_NDX,`STA_EXT, |
`STB_DP,`STB_NDX,`STB_EXT: |
begin |
2706,6 → 3592,9
zf <= res12z; |
nf <= res12n; |
end |
`ifdef SUPPORT_6309 |
`STW_DP,`STW_NDX,`STW_EXT, |
`endif |
`STD_DP,`STD_NDX,`STD_EXT, |
`STU_DP,`STU_NDX,`STU_EXT, |
`STX_DP,`STX_NDX,`STX_EXT, |
2742,11 → 3631,19
ef <= src1[7]; |
end |
4'b1011: dpr <= src1[`LOBYTE]; |
4'b1110: usppg <= src1[`DBLBYTE]; |
4'b1100: usppg <= src1[`DBLBYTE]; |
`ifdef SUPPORT_6309 |
4'b0110: {acce,accf} <= src1[`DBLBYTE]; |
4'b1110: acce <= src1[`LOBYTE]; |
4'b1111: accf <= src1[`LOBYTE]; |
`else |
4'b1110: ; |
4'b1111: ; |
`endif |
default: ; |
endcase |
end |
`TSTE,`TSTF, |
`TSTA,`TSTB: |
begin |
vf <= 1'b0; |
2759,6 → 3656,14
nf <= res24n; |
zf <= res24z; |
end |
`ifdef SUPPORT_6309 |
`TSTW: |
begin |
vf <= 1'b0; |
nf <= res24n; |
zf <= res24z; |
end |
`endif |
`TST_DP,`TST_NDX,`TST_EXT: |
begin |
vf <= 1'b0; |
2783,6 → 3688,36
cf <= res12c; |
hf <= (~a[`HCBIT]&b[`HCBIT])|(res12[`HCBIT]&~a[`HCBIT])|(res12[`HCBIT]&b[`HCBIT]); |
end |
`ifdef SUPPORT_6309 |
`SUBE_IMM,`SUBE_DP,`SUBE_NDX,`SUBE_EXT: |
begin |
acce <= res12[`LOBYTE]; |
nf <= res12n; |
zf <= res12z; |
vf <= (1'b1 ^ res12[BPBM1] ^ b[BPBM1]) & (a[BPBM1] ^ b[BPBM1]); |
cf <= res12c; |
hf <= (~a[`HCBIT]&b[`HCBIT])|(res12[`HCBIT]&~a[`HCBIT])|(res12[`HCBIT]&b[`HCBIT]); |
end |
`SUBF_IMM,`SUBF_DP,`SUBF_NDX,`SUBF_EXT: |
begin |
accf <= res12[`LOBYTE]; |
nf <= res12n; |
zf <= res12z; |
vf <= (1'b1 ^ res12[BPBM1] ^ b[BPBM1]) & (a[BPBM1] ^ b[BPBM1]); |
cf <= res12c; |
hf <= (~a[`HCBIT]&b[`HCBIT])|(res12[`HCBIT]&~a[`HCBIT])|(res12[`HCBIT]&b[`HCBIT]); |
end |
`SUBW_IMM,`SUBW_DP,`SUBW_NDX,`SUBW_EXT: |
begin |
cf <= res24c; |
vf <= (1'b1 ^ res[BPBX2M1] ^ b[BPBX2M1]) & (a[BPBX2M1] ^ b[BPBX2M1]); |
nf <= res[BPBX2M1]; |
zf <= res[`DBLBYTE]==24'h000000; |
acce <= res[`HIBYTE]; |
accf <= res[`LOBYTE]; |
end |
`SBCD_IMM,`SBCD_DP,`SBCD_NDX,`SBCD_EXT, |
`endif |
`SUBD_IMM,`SUBD_DP,`SUBD_NDX,`SUBD_EXT: |
begin |
cf <= res24c; |
2874,8 → 3809,6
input [`LOBYTE] dat; |
begin |
if (!tsc) begin |
cyc_o <= 1'b1; |
stb_o <= 1'b1; |
we_o <= 1'b1; |
adr_o <= adr; |
dat_o <= dat; |
2972,6 → 3905,46
else |
next_state(IFETCH); |
end |
`ifdef SUPPORT_6309 |
`LW_ACCE: begin |
acce <= dat; |
radr <= radr + 2'd1; |
if (isRTI) begin |
$display("loaded acce=%h from %h", dat, radr); |
ssp <= ssp + 2'd1; |
next_state(PULL1); |
end |
else if (isPULU) begin |
usp <= usp + 2'd1; |
next_state(PULL1); |
end |
else if (isPULS) begin |
ssp <= ssp + 2'd1; |
next_state(PULL1); |
end |
else |
next_state(IFETCH); |
end |
`LW_ACCF: begin |
accf <= dat; |
radr <= radr + 2'd1; |
if (isRTI) begin |
$display("loaded accf=%h from %h", dat, radr); |
ssp <= ssp + 2'd1; |
next_state(PULL1); |
end |
else if (isPULU) begin |
usp <= usp + 2'd1; |
next_state(PULL1); |
end |
else if (isPULS) begin |
ssp <= ssp + 2'd1; |
next_state(PULL1); |
end |
else |
next_state(IFETCH); |
end |
`endif |
`LW_DPR: begin |
dpr <= dat; |
radr <= radr + 2'd1; |
/trunk/rtl/cpu/rf6809_pic.sv
117,6 → 117,7
reg [31:0] iedge; |
reg [31:0] rste; |
reg [31:0] es; |
reg [31:0] irq_active; |
reg [3:0] irq [0:31]; |
reg [BPB:0] cause [0:31]; |
reg [5:0] server [0:31]; |
198,6 → 199,7
8'b1?????00: dat_o <= cause[adr_i[6:2]]; |
8'b1?????01: dat_o <= {es[adr_i[6:2]],ie[adr_i[6:2]],2'b0,irq[adr_i[6:2]]}; |
8'b1?????10: dat_o <= {2'b0,server[adr_i[6:2]]}; |
8'b1?????11: dat_o <= irq_active[adr_i[6:2]]; |
default: dat_o <= 12'h00; |
endcase |
else |
229,10 → 231,16
// misreads |
// nmi is not encoded |
always @(posedge clk) |
begin |
if (rst_i) |
irq_active <= 32'd0; |
else begin |
irqenc <= 5'd0; |
for (n = 31; n > 0; n = n - 1) |
for (n = 31; n > 0; n = n - 1) begin |
if ((es[n] ? iedge[n] : i[n])) irqenc <= n; |
if ((es[n] ? iedge[n] : i[n])) irq_active[n] <= 1'b1; |
end |
if (cs && wr_i && adr_i[7] && &adr_i[1:0]) |
irq_active[adr_i[6:2]] <= dat_i[0]; |
end |
|
endmodule |
/trunk/rtl/cpu/rf6809_pkg.sv
9,6 → 9,9
parameter BPBM1 = BPB-1; |
parameter BPBX2M1 = BPB*2-1; |
|
// The following adds support for many 6309 instructions. |
//`define SUPPORT_6309 |
|
// The following allows asynchronous reads for icache updating. |
// It increases the size of the core. |
//`define SUPPORT_AREAD 1 |
346,33 → 349,89
`define LBGT 12'h12E |
`define LBLE 12'h12F |
|
`define ADDR 12'h130 |
`define ADCR 12'h131 |
`define SUBR 12'h132 |
`define SBCR 12'h133 |
`define ANDR 12'h134 |
`define ORR 12'h135 |
`define EORR 12'h136 |
`define CMPR 12'h137 |
`define SWI2 12'h13F |
`define NEGD 12'h140 |
`define COMD 12'h143 |
`define LSRD 12'h144 |
`define RORD 12'h146 |
`define ASRD 12'h147 |
`define ASLD 12'h148 |
`define ROLD 12'h149 |
`define DECD 12'h14A |
`define INCD 12'h14C |
`define TSTD 12'h14D |
`define CLRD 12'h14F |
`define COMW 12'h153 |
`define LSRW 12'h154 |
`define RORW 12'h156 |
`define ROLW 12'h159 |
`define DECW 12'h15A |
`define INCW 12'h15C |
`define TSTW 12'h15D |
`define CLRW 12'h15F |
`define SUBW_IMM 12'h180 |
`define CMPW_IMM 12'h181 |
`define SBCD_IMM 12'h182 |
`define CMPD_IMM 12'h183 |
`define ANDD_IMM 12'h184 |
`define BITD_IMM 12'h185 |
`define LDW_IMM 12'h186 |
`define EORD_IMM 12'h188 |
`define ADCD_IMM 12'h189 |
`define ORD_IMM 12'h18A |
`define ADDW_IMM 12'h18B |
`define CMPY_IMM 12'h18C |
`define LDY_IMM 12'h18E |
`define SUBW_DP 12'h190 |
`define CMPW_DP 12'h191 |
`define SBCD_DP 12'h192 |
`define CMPD_DP 12'h193 |
`define ANDD_DP 12'h194 |
`define BITD_DP 12'h195 |
`define LDW_DP 12'h196 |
`define STW_DP 12'h197 |
`define EORD_DP 12'h198 |
`define ADCD_DP 12'h199 |
`define ORD_DP 12'h19A |
`define ADDW_DP 12'h19B |
`define CMPY_DP 12'h19C |
`define LDY_DP 12'h19E |
`define STY_DP 12'h19F |
`define SUBW_NDX 12'h1A0 |
`define CMPW_NDX 12'h1A1 |
`define SBCD_NDX 12'h1A2 |
`define CMPD_NDX 12'h1A3 |
`define ANDD_NDX 12'h1A4 |
`define BITD_NDX 12'h1A5 |
`define LDW_NDX 12'h1A6 |
`define STW_NDX 12'h1A7 |
`define EORD_NDX 12'h1A8 |
`define ADCD_NDX 12'h1A9 |
`define ORD_NDX 12'h1AA |
`define ADDW_NDX 12'h1AB |
`define CMPY_NDX 12'h1AC |
`define LDY_NDX 12'h1AE |
`define STY_NDX 12'h1AF |
`define SUBW_EXT 12'h1B0 |
`define CMPW_EXT 12'h1B1 |
`define SBCD_EXT 12'h1B2 |
`define CMPD_EXT 12'h1B3 |
`define ANDD_EXT 12'h1B4 |
`define BITD_EXT 12'h1B5 |
`define LDW_EXT 12'h1B6 |
`define STW_EXT 12'h1B7 |
`define EORD_EXT 12'h1B8 |
`define ADCD_EXT 12'h1B9 |
`define ORD_EXT 12'h1BA |
`define ADDW_EXT 12'h1BB |
`define CMPY_EXT 12'h1BC |
`define LDY_EXT 12'h1BE |
`define STY_EXT 12'h1BF |
391,7 → 450,59
`define STS_EXT 12'h1FF |
`define LDMD 12'h23D |
`define SWI3 12'h23F |
`define COME 12'h243 |
`define DECE 12'h24A |
`define INCE 12'h24C |
`define TSTE 12'h24D |
`define CLRE 12'h24F |
`define COMF 12'h253 |
`define DECF 12'h25A |
`define INCF 12'h25C |
`define TSTF 12'h25D |
`define CLRF 12'h25F |
`define SUBE_IMM 12'h280 |
`define CMPU_IMM 12'h283 |
`define LDE_IMM 12'h286 |
`define ADDE_IMM 12'h28B |
`define DIVD_IMM 12'h28D |
`define SUBE_DP 12'h290 |
`define LDE_DP 12'h296 |
`define ADDE_DP 12'h29B |
`define DIVD_DP 12'h29D |
`define SUBE_NDX 12'h2A0 |
`define LDE_NDX 12'h2A6 |
`define ADDE_NDX 12'h2AB |
`define DIVD_NDX 12'h2AD |
`define SUBE_EXT 12'h2B0 |
`define LDE_EXT 12'h2B6 |
`define ADDE_EXT 12'h2BB |
`define DIVD_EXT 12'h2BD |
`define SUBF_IMM 12'h2C0 |
`define LDF_IMM 12'h2C6 |
`define ADDF_IMM 12'h2CB |
`define SUBF_DP 12'h2D0 |
`define LDF_DP 12'h2D6 |
`define ADDF_DP 12'h2DB |
`define SUBF_NDX 12'h2E0 |
`define LDF_NDX 12'h2E6 |
`define ADDF_NDX 12'h2EB |
`define SUBF_EXT 12'h2F0 |
`define LDF_EXT 12'h2F6 |
`define ADDF_EXT 12'h2FB |
`define CMPE_IMM 12'h281 |
`define CMPE_DP 12'h291 |
`define STE_DP 12'h297 |
`define STE_NDX 12'h2A7 |
`define STE_EXT 12'h2B7 |
`define STF_DP 12'h2D7 |
`define STF_NDX 12'h2E7 |
`define STF_EXT 12'h2F7 |
`define CMPE_NDX 12'h2A1 |
`define CMPE_EXT 12'h2B1 |
`define CMPF_IMM 12'h2C1 |
`define CMPF_DP 12'h2D1 |
`define CMPF_NDX 12'h2E1 |
`define CMPF_EXT 12'h2F1 |
`define CMPS_IMM 12'h28C |
`define CMPU_DP 12'h293 |
`define CMPS_DP 12'h29C |
435,6 → 546,8
`define LW_USP2316 6'd29 |
`define LW_SSP3124 6'd30 |
`define LW_SSP2316 6'd31 |
`define LW_ACCE 6'd32 |
`define LW_ACCF 6'd33 |
`define LW_NOTHING 6'd63 |
|
`define SW_ACCDH 6'd0 |
479,6 → 592,10
`define SW_ACCB2316 6'd39 |
`define SW_ACCB158 6'd40 |
`define SW_ACCB70 6'd41 |
`define SW_ACCE 6'd42 |
`define SW_ACCF 6'd43 |
`define SW_ACCWH 6'd44 |
`define SW_ACCWL 6'd45 |
`define SW_NOTHING 6'd63 |
|
endpackage |
/trunk/software/boot/boot_rom.asm
92,6 → 92,18
IrqSource EQU $FFC011 |
IRQFlag EQU $FFC012 |
RunningID EQU $FFC013 |
milliseconds EQU $FFC014 |
|
; One copy of serial buffer management |
; 1 serial buffer for system. |
SerHeadRcv EQU $FFC015 |
SerTailRcv EQU $FFC016 |
SerHeadXmit EQU $FFC017 |
SerTailXmit EQU $FFC018 |
SerRcvXon EQU $FFC019 |
SerRcvXoff EQU $FFC01A |
SerRcvBuf EQU $FFB000 ; 4kB serial recieve buffer |
|
; Top of boot stack is at $FFC0FF |
|
; These variables use direct page access |
110,15 → 122,9
kbdFifo EQU $40 ; in local RAM |
kbdFifoAlias EQU $C00040 ; to $C0007F ; alias for $40 to $7F |
SerhZero EQU $130 |
SerHeadRcv EQU $131 |
SertZero EQU $132 |
SerTailRcv EQU $133 |
SerHeadXmit EQU $136 |
SerTailXmit EQU $138 |
SerRcvXon EQU $139 |
SerRcvXoff EQU $140 |
SerRcvBuf EQU $BFF000 ; 4kB serial recieve buffer |
|
|
farflag EQU $15F |
asmbuf EQU $160 ; to $17F |
|
140,7 → 146,7
CmdPromptJI EQU $808 |
MonErrVec EQU $80C |
BreakpointFlag EQU $810 |
NumSetBreakpoints EQU $811 |
NumSetBreakpoints EQU $811 ; to 812 |
Breakpoints EQU $820 ; to $82F |
BreakpointBytes EQU $830 ; to $83F |
mon_vectb EQU $880 |
361,17 → 367,18
clr ,x+ |
decb |
bne init1 |
ldx #128 ; register to start at |
st1: |
clr PIC,x ; cause code |
sta PIC+1,x |
stb PIC+2,x |
leax 4,x |
cmpx #256 |
cmpx #256 ; max reg |
blo st1 |
lda #$81 ; make irq edge sensitive |
lda #$C1 ; make irq edge sensitive (bit 7), enable interupt (bit 6), irq (bit 0) |
sta PIC+$FD |
lda #31 ; enable timer interrupt |
sta PIC+9 |
lda #$41 ; level sensitive, enabled, irq |
sta PIC+$D1 ; serial irq is #20 |
lda #COLS |
sta TEXTREG+TEXT_COLS |
lda #ROWS |
809,6 → 816,7
; |
DisplayChar: |
lbsr SerialPutChar |
ScreenDisplayChar: |
pshs d,x |
cmpb #CR ; carriage return ? |
bne dccr |
1095,6 → 1103,7
|
OPT INCLUDE "d:\cores2022\rf6809\software\boot\serial.asm" |
OPT INCLUDE "d:\cores2022\rf6809\software\boot\S19Loader.asm" |
OPT INCLUDE "d:\cores2022\rf6809\software\boot\xmodem.asm" |
|
;------------------------------------------------------------------------------ |
; Check if there is a keyboard character available. If so return true (<0) |
1116,10 → 1125,11
; bra GetKey |
; jsr [CharInVec] ; vector is being overwritten somehow |
lbsr SerialPeekCharDirect |
; lbsr SerialGetChar |
tsta |
bmi INCH1 ; block if no key available |
leas 1,s ; get rid of blocking status |
rts |
rts ; return character |
INCH1: |
puls b ; check blocking status |
tstb |
1293,8 → 1303,8
|
cmdTable1: |
fcb '<','>'+$800 |
fcb 'b','s'+$800 |
fcb 'b','c'+$800 |
fcb 'B','+'+$800 |
fcb 'B','-'+$800 |
fcb 'D','R'+$800 |
fcb 'D'+$800 |
fcb ':'+$800 |
1309,8 → 1319,21
fcb "exi",'t'+$800 |
fcb '?'+$800 |
fcb "CL",'S'+$800 |
fcb "S1",'9'+$800 |
fcb "C1",'9'+$800 |
fcb "JD",'4'+$800 |
fcb "XM",'R'+$800 |
fcb "XM",'S'+$800 |
fcb 'R','A'+$800 |
fcb 'R','B'+$800 |
fcb "RDP",'R'+$800 |
fcb 'R','D'+$800 |
fcb 'R','X'+$800 |
fcb 'R','Y'+$800 |
fcb 'R','U'+$800 |
fcb 'R','S'+$800 |
fcb "RCC",'R'+$800 |
fcb "RP",'C'+$800 |
fcb 'L','B'+$800 |
fcw 0 |
|
cmdTable2: |
1333,6 → 1356,19
fcw PromptClearscreen |
fcw S19Loader |
fcw $FFD400 |
fcw xm_ReceiveStart |
fcw xm_SendStart |
fcw SetRegA |
fcw SetRegB |
fcw SetRegDPR |
fcw SetRegD |
fcw SetRegX |
fcw SetRegY |
fcw SetRegU |
fcw SetRegS |
fcw SetRegCCR |
fcw SetRegPC |
fcw ListBreakpoints |
|
CmdPrompt: |
lbsr CRLF |
1344,6 → 1380,9
fcb "Femtiki F09 Multi-core OS Starting",CR,LF,0 |
|
Monitor: |
andcc #$EF ; SWI disables interrupts, re-enable them |
lda #31 ; Timer is IRQ #31 |
sta PIC+16 ; register 16 is edge sense reset reg |
ldd mon_init ; check special code to see if monitor has been initialized |
cmpd #1234567 |
beq mon1 |
1393,6 → 1432,8
Prompt3: |
ldd #-1 ; block until key present |
lbsr INCH |
tsta ; should not get this with blocking |
bmi Prompt3 |
cmpb #CR ; carriage return? |
beq Prompt1 |
lbsr OUTCH ; spit out the character |
1756,8 → 1797,9
HelpMsg: |
fcb "? = Display help",CR,LF |
fcb "CLS = clear screen",CR,LF |
fcb "bs = set breakpoint",CR,LF |
fcb "bc = clear breakpoint",CR,LF |
fcb "b+ = set breakpoint",CR,LF |
fcb "b- = clear breakpoint",CR,LF |
fcb "C19 = run C19 loader",CR,LF |
; db "S = Boot from SD Card",CR,LF |
fcb ": = Edit memory bytes",CR,LF |
; db "L = Load sector",CR,LF |
1772,12 → 1814,10
; db "b = start EhBasic 6502",CR,LF |
fcb "J = Jump to code",CR,LF |
fcb "JD4 = Jump to $FFD400",CR,LF |
fcb "RAMTEST = test RAM",CR,LF |
; db "R[n] = Set register value",CR,LF |
fcb "R[n] = Set register value",CR,LF |
; db "r = random lines - test bitmap",CR,LF |
; db "e = ethernet test",CR,LF |
fcb "s = serial output test",CR,LF |
fcb "S19 = run S19 loader",CR,LF |
fcb "SP = sprite demo",CR,LF |
; db "T = Dump task list",CR,LF |
; db "TO = Dump timeout list",CR,LF |
1785,6 → 1825,7
; db "TEMP = display temperature",CR,LF |
fcb "U = unassemble",CR,LF |
; db "P = Piano",CR,LF |
fcb "XM = xmodem transfer",CR,LF |
fcb "x = exit monitor",CR,LF |
fcb 0 |
|
1875,6 → 1916,7
|
EditMemory: |
ldu #8 ; set max byte count |
lbsr ignBlanks |
lbsr GetHexNumber ; get the start address |
ldx mon_numwka+2 |
EditMem2: |
1978,6 → 2020,75
lbra Monitor |
|
;------------------------------------------------------------------------------ |
; SetRegXXX |
; |
; Set the value to be loaded into a register. |
;------------------------------------------------------------------------------ |
|
SetRegA: |
lbsr ignBlanks |
lbsr GetNumber |
lda mon_numwka+3 |
sta mon_DSAVE |
lbra Monitor |
SetRegB: |
lbsr ignBlanks |
lbsr GetNumber |
lda mon_numwka+3 |
sta mon_DSAVE+1 |
lbra Monitor |
SetRegD: |
lbsr ignBlanks |
lbsr GetNumber |
ldd mon_numwka+2 |
std mon_DSAVE |
lbra Monitor |
SetRegX: |
lbsr ignBlanks |
lbsr GetNumber |
ldd mon_numwka+2 |
std mon_XSAVE |
lbra Monitor |
SetRegY: |
lbsr ignBlanks |
lbsr GetNumber |
ldd mon_numwka+2 |
std mon_YSAVE |
lbra Monitor |
SetRegU: |
lbsr ignBlanks |
lbsr GetNumber |
ldd mon_numwka+2 |
std mon_USAVE |
lbra Monitor |
SetRegS: |
lbsr ignBlanks |
lbsr GetNumber |
ldd mon_numwka+2 |
std mon_SSAVE |
lbra Monitor |
SetRegDPR: |
lbsr ignBlanks |
lbsr GetNumber |
lda mon_numwka+3 |
sta mon_DPRSAVE |
lbra Monitor |
SetRegCCR: |
lbsr ignBlanks |
lbsr GetNumber |
lda mon_numwka+3 |
sta mon_CCRSAVE |
lbra Monitor |
SetRegPC: |
lbsr ignBlanks |
lbsr GetNumber |
ldd mon_numwka+2 |
std mon_PCSAVE+2 |
ldb mon_numwka+1 |
stb mon_PCSAVE+1 |
lbra Monitor |
|
;------------------------------------------------------------------------------ |
; Jump to code |
; |
; Registers are loaded with values from the monitor register save area before |
1987,17 → 2098,14
;------------------------------------------------------------------------------ |
|
jump_to_code: |
bsr GetNumber |
lbsr ignBlanks |
lbsr GetNumber |
sei |
lds mon_SSAVE |
ldd #jtc_exit ; setup stack for RTS back to monitor |
ldd #jtc_exit ; setup stack for RTS back to monitor |
pshs d |
ldb #0 |
pshs b |
ldd mon_numwka+2 ; get the address parameter |
pshs d |
ldb mon_numwka+1 |
pshs b |
ldd mon_USAVE |
pshs d |
ldd mon_YSAVE |
2010,7 → 2118,8
pshs d |
lda mon_CCRSAVE |
pshs a |
puls far ccr,d,dpr,x,y,u,pc |
puls far ccr,d,dpr,x,y,u |
jmp far [mon_numwka+1] |
jtc_exit: |
sts >mon_SSAVE ; need to use extended addressing, no direct page setting |
leas $6FFF ; reset stack to system area, dont modify flags register! |
2062,7 → 2171,7
boot_stack: |
fcw $FFC0FF |
numBreakpoints: |
fcb 8 |
fcw 8 |
mon_rom_vectab: |
fcw mon_rom_vecs |
mon_rom_vecs: |
2079,6 → 2188,7
fcw 0 ; operating system call |
fcw GetRange |
fcw GetNumber |
fcw SerialPutChar |
|
NumFuncs EQU (*-mon_rom_vectab)/2 |
|
2099,6 → 2209,7
fcb $C00 ; OS call |
fcb 0 ; GetRange |
fcb $800 ; GetNumber |
fcb 0 ; SerialPutChar |
|
;------------------------------------------------------------------------------ |
; SWI routine. |
2117,7 → 2228,7
leau -1,u ; backup a byte |
tst BreakpointFlag ; are we in breakpoint mode? |
beq swiNotBkpt |
ldu #Breakpoints |
ldy #Breakpoints |
ldb NumSetBreakpoints |
beq swiNotBkpt |
swi_rout2: |
2161,6 → 2272,10
swi_rout4: |
rti |
|
;------------------------------------------------------------------------------ |
; A breakpoint was struck during program execution, process accordingly. |
;------------------------------------------------------------------------------ |
|
processBreakpoint: |
lda ,s |
sta mon_CCRSAVE |
2175,8 → 2290,10
ldd 8,s |
std mon_USAVE |
sts mon_SSAVE |
ldb 10,s |
stb mon_PCSAVE |
ldd 11,s |
std mon_PCSAVE |
std mon_PCSAVE+1 |
lds boot_stack,pcr |
ldd #swi_rout3 ; setup so monitor can return |
pshs d |
2186,6 → 2303,9
xitMonitor: |
bra ArmAllBreakpoints |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
swiCallOS: |
leau 1,u ; next byte is func number |
ldb ,u+ |
2204,6 → 2324,10
clr OSSEMA+1 |
bra swi_rout3 |
|
;------------------------------------------------------------------------------ |
; DisarmAllBreakpoints, used when entering the monitor. |
;------------------------------------------------------------------------------ |
|
DisarmAllBreakpoints: |
pshs d,x,y |
ldy #0 |
2222,6 → 2346,9
disarm1: |
puls d,x,y,pc |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
ArmAllBreakpoints: |
pshs d,x,y |
ldy #0 |
2240,12 → 2367,18
arm1: |
puls d,x,y,pc |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
ArmBreakpoint: |
pshs d,x,y |
lda NumSetBreakpoints ; check if too many breakpoints set |
cmpa numBreakpoints |
lbhs DisplayErr |
lbsr ignBlanks |
lbsr GetHexNumber ; get address parameter |
tstb |
lbmi DisplayErr |
ldb NumSetBreakpoints ; bv= number of set breakpoints |
ldy mon_numwka+2 ; get address |
lda ,y ; get byte at address |
2259,11 → 2392,18
lsrb ; size back to single byte |
incb |
stb NumSetBreakpoints |
puls d,x,y,pc |
puls d,x,y |
lbra Monitor |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
DisarmBreakpoint: |
pshs d,x,y,u |
lbsr ignBlanks |
lbsr GetHexNumber |
tstb |
lbmi Monitor |
clrb |
clrb |
tfr d,x ; x = zero too |
2307,10 → 2447,39
incb |
bra disarm6 |
disarm4: |
puls d,x,y,u,pc |
puls d,x,y,u |
lbra Monitor |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
ListBreakpoints: |
pshs d,x |
swi |
fcb MF_CRLF |
ldx #0 |
ldb #0 |
lbrk1: |
cmpb numBreakpoints |
bhs lbrk2 |
cmpb NumSetBreakpoints |
bhs lbrk2 |
ldd Breakpoints,x |
leax 2,x |
incb |
pshs b |
swi |
fcb MF_DisplayWordAsHex |
swi |
fcb MF_CRLF |
puls b |
bra lbrk1 |
lbrk2: |
puls d,x |
lbra Monitor |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
swi3_rout: |
sei |
lda ,s |
2344,22 → 2513,12
rti |
|
irq_rout: |
clra |
tfr a,dpr |
setdp $000 |
; lbsr SerialIRQ ; check for recieved character |
lbsr TimerIRQ |
|
; Reset the edge sense circuit in the PIC |
; lda #31 ; Timer is IRQ #31 |
; sta IrqSource ; stuff a byte indicating the IRQ source for PEEK() |
; sta PIC+16 ; register 16 is edge sense reset reg |
; lda VIA+VIA_IFR |
; bpl notTimerIRQ2 |
; bita #$800 |
; beq notTimerIRQ2 |
; clr VIA+VIA_T3LL |
; clr VIA+VIA_T3LH |
; inc $E00037 ; update timer IRQ screen flag |
;notTimerIRQ2: |
|
lda IrqBase ; get the IRQ flag byte |
lsra |
ora IrqBase |
2367,32 → 2526,18
sta IrqBase |
|
; inc TEXTSCR+54 ; update IRQ live indicator on screen |
; inc TEXTSCR+$2000+54 |
|
; flash the cursor |
; only bother to flash the cursor for the task with the IO focus. |
; lda COREID |
; cmpa IOFocusID |
; bne tr1a |
; lda CursorFlash ; test if we want a flashing cursor |
; beq tr1a |
; lbsr CalcScreenLoc ; compute cursor location in memory |
; tfr d,y |
; lda $2000,y ; get color code $2000 higher in memory |
; ldb IRQFlag ; get counter |
; lsrb |
; lsra |
; lsra |
; lsra |
; lsra |
; lsrb |
; rola |
; lsrb |
; rola |
; lsrb |
; rola |
; lsrb |
; rola |
; sta $E00000,y ; store the color code back to memory |
lda COREID |
cmpa IOFocusID |
bne tr1a |
lda CursorFlash ; test if we want a flashing cursor |
beq tr1a |
lbsr CalcScreenLoc ; compute cursor location in memory |
tfr d,y |
inc $2000,y ; get color code $2000 higher in memory |
tr1a: |
rti |
|
/trunk/software/boot/boot_rom.lst
1,4 → 1,4
3 error(s), 526 warning(s) unlisted in pass 1 |
3 error(s), 894 warning(s) unlisted in pass 1 |
; ============================================================================ |
; __ |
; \\__/ o\ (C) 2013-2022 Robert Finch, Waterloo |
71,6 → 71,16
; |
; ============================================================================ |
; |
; ASCII control characters. |
SOH equ 1 |
EOT equ 4 |
ACK equ 6 |
BS equ 8 |
NAK equ 21 |
ETB equ $17 |
CAN equ 24 |
DEL equ 127 |
|
CR EQU $0D ;ASCII equates |
LF EQU $0A |
TAB EQU $09 |
106,6 → 116,7
MF_OSCALL EQU 10 |
MF_GetRange EQU 11 ; gets a pair of numbers last>first |
MF_GetNumber EQU 12 |
MF_SerialPutchar EQU 13 |
|
mon_numwka EQU $910 |
mon_r1 EQU $920 |
172,6 → 183,7
ACIA_STAT EQU 1 |
ACIA_CMD EQU 2 |
ACIA_CTRL EQU 3 |
ACIA_IRQS EQU 4 |
ACIA_CTRL2 EQU 11 |
RTC EQU $FFFE30500 ; I2C |
RTCBuf EQU $7FC0 |
241,6 → 253,18
IrqSource EQU $FFC011 |
IRQFlag EQU $FFC012 |
RunningID EQU $FFC013 |
milliseconds EQU $FFC014 |
|
; One copy of serial buffer management |
; 1 serial buffer for system. |
SerHeadRcv EQU $FFC015 |
SerTailRcv EQU $FFC016 |
SerHeadXmit EQU $FFC017 |
SerTailXmit EQU $FFC018 |
SerRcvXon EQU $FFC019 |
SerRcvXoff EQU $FFC01A |
SerRcvBuf EQU $FFB000 ; 4kB serial recieve buffer |
|
; Top of boot stack is at $FFC0FF |
|
; These variables use direct page access |
259,15 → 283,9
kbdFifo EQU $40 ; in local RAM |
kbdFifoAlias EQU $C00040 ; to $C0007F ; alias for $40 to $7F |
SerhZero EQU $130 |
SerHeadRcv EQU $131 |
SertZero EQU $132 |
SerTailRcv EQU $133 |
SerHeadXmit EQU $136 |
SerTailXmit EQU $138 |
SerRcvXon EQU $139 |
SerRcvXoff EQU $140 |
SerRcvBuf EQU $BFF000 ; 4kB serial recieve buffer |
|
|
farflag EQU $15F |
asmbuf EQU $160 ; to $17F |
|
289,7 → 307,7
CmdPromptJI EQU $808 |
MonErrVec EQU $80C |
BreakpointFlag EQU $810 |
NumSetBreakpoints EQU $811 |
NumSetBreakpoints EQU $811 ; to 812 |
Breakpoints EQU $820 ; to $82F |
BreakpointBytes EQU $830 ; to $83F |
mon_vectb EQU $880 |
320,7 → 338,7
00FFD0AE 012 nop |
XBLANK |
00FFD0AF 0C6020 ldb #' ' |
00FFD0B1 017001E2D lbsr OUTCH |
00FFD0B1 017002115 lbsr OUTCH |
00FFD0B4 039 rts |
|
org $FFD0D0 |
329,9 → 347,9
CRLF |
CRLF1: |
00FFD0D2 0C600D ldb #CR |
00FFD0D4 017001E0A lbsr OUTCH |
00FFD0D4 0170020F2 lbsr OUTCH |
00FFD0D7 0C600A ldb #LF |
00FFD0D9 017001E05 lbsr OUTCH |
00FFD0D9 0170020ED lbsr OUTCH |
00FFD0DC 039 rts |
|
org $FFD0F0 |
345,7 → 363,7
org $FFD2C0 |
00FFD2C0 012 nop |
LETTER |
00FFD2C1 017001C1D lbsr OUTCH |
00FFD2C1 017001F05 lbsr OUTCH |
00FFD2C4 039 rts |
|
org $FFD2CC |
352,18 → 370,18
00FFD2CC 012 nop |
00FFD2CD 012 nop |
HEX2 |
00FFD2CE 017001166 lbsr DispByteAsHex |
00FFD2CE 017001169 lbsr DispByteAsHex |
00FFD2D1 039 rts |
HEX4 |
00FFD2D2 017001159 lbsr DispWordAsHex |
00FFD2D2 01700115C lbsr DispWordAsHex |
00FFD2D5 039 rts |
|
org $FFD300 |
ClearScreenJmp |
00FFD300 016000F36 lbra ClearScreen |
00FFD300 016000F39 lbra ClearScreen |
org $FFD308 |
HomeCursorJmp |
00FFD308 016000FA5 lbra HomeCursor |
00FFD308 016000FA8 lbra HomeCursor |
|
org $FFD400 |
|
408,21 → 426,21
|
|
org $FFE000 |
00FFE000 FFF039 FDB Monitor |
00FFE000 FFF35C FDB Monitor |
00FFE002 FFE022 FDB DumRts ; NEXTCMD |
00FFE004 FFEEA9 FDB INCH |
00FFE006 FFEEC7 FDB INCHE |
00FFE008 FFEECB FDB INCHEK |
00FFE00A FFEEE1 FDB OUTCH |
00FFE00C FFE41B FDB PDATA |
00FFE00E FFE40E FDB PCRLF |
00FFE010 FFE40A FDB PSTRNG |
00FFE004 FFF191 FDB INCH |
00FFE006 FFF1AF FDB INCHE |
00FFE008 FFF1B3 FDB INCHEK |
00FFE00A FFF1C9 FDB OUTCH |
00FFE00C FFE41E FDB PDATA |
00FFE00E FFE411 FDB PCRLF |
00FFE010 FFE40D FDB PSTRNG |
00FFE012 FFE022 FDB DumRts ; LRA |
00FFE014 FFE022 FDB DumRts |
00FFE016 FFE022 FDB DumRts |
00FFE018 FFE022 FDB DumRts |
00FFE01A FFE022 FDB DumRts ; VINIZ |
00FFE01C FFE319 FDB DisplayChar ; VOUTCH |
00FFE01C FFE31C FDB DisplayChar ; VOUTCH |
00FFE01E FFE022 FDB DumRts ; ACINIZ |
00FFE020 FFE022 FDB DumRts ; AOUTCH |
|
455,7 → 473,7
; tfr d,x |
; jmp ,x ; jump to the BIOS now in local RAM |
st7: |
00FFE046 08D16D bsr Delay3s ; give some time for devices to reset |
00FFE046 08D170 bsr Delay3s ; give some time for devices to reset |
00FFE048 07F000810 clr BreakpointFlag |
00FFE04B 07F000811 clr NumSetBreakpoints |
00FFE04E 0860AA lda #$AA |
480,10 → 498,10
00FFE07A 0860CE lda #$0CE |
00FFE07C 097113 sta ScreenColor |
00FFE07E 097112 sta CharColor |
00FFE080 08D1B7 bsr ClearScreen |
00FFE082 0CCFFE319 ldd #DisplayChar |
00FFE080 08D1BA bsr ClearScreen |
00FFE082 0CCFFE31C ldd #DisplayChar |
00FFE085 0FD000800 std CharOutVec |
00FFE088 0CCFFEC64 ldd #SerialPeekCharDirect |
00FFE088 0CCFFEC73 ldd #SerialPeekCharDirect |
00FFE08B 0FD000804 std CharInVec |
; swi |
; fcb MF_OSCALL |
492,9 → 510,9
00FFE093 0C1001 cmpb #FIRST_CORE |
00FFE095 027011 beq init |
00FFE097 0C1020 cmpb #$20 ; CmodA709 core? |
00FFE099 02705D beq init2 |
00FFE09B 02006D bra skip_init |
00FFE09D 0200B4 bra multi_sieve |
00FFE099 027060 beq init2 |
00FFE09B 020070 bra skip_init |
00FFE09D 0200B7 bra multi_sieve |
st3: |
00FFE09F 0860FF lda #$FF |
00FFE0A1 0150B7FFFE60001 sta LEDS |
503,7 → 521,7
; initialize interrupt controller |
; first, zero out all the vectors |
init: |
00FFE0A8 017000449 lbsr rtc_read ; get clock values |
00FFE0A8 017000479 lbsr rtc_read ; get clock values |
00FFE0AB 08E000127 ldx #kbdHeadRcv |
00FFE0AE 0C6020 ldb #32 ; number of bytes to zero out |
init1: |
510,57 → 528,58
00FFE0B0 06F800 clr ,x+ |
00FFE0B2 05A decb |
00FFE0B3 026FFB bne init1 |
00FFE0B5 08E000080 ldx #128 ; register to start at |
st1: |
00FFE0B5 06F809E3F000 clr PIC,x ; cause code |
00FFE0B9 0A7809E3F001 sta PIC+1,x |
00FFE0BD 0E7809E3F002 stb PIC+2,x |
00FFE0C1 030004 leax 4,x |
00FFE0C3 08C000100 cmpx #256 |
00FFE0C6 025FED blo st1 |
00FFE0C8 086081 lda #$81 ; make irq edge sensitive |
00FFE0CA 0150B7FFFE3F0FD sta PIC+$FD |
00FFE0CF 08601F lda #31 ; enable timer interrupt |
00FFE0D1 0150B7FFFE3F009 sta PIC+9 |
00FFE0D6 086040 lda #COLS |
00FFE0D8 0150B7FFFE07F00 sta TEXTREG+TEXT_COLS |
00FFE0DD 086020 lda #ROWS |
00FFE0DF 0150B7FFFE07F01 sta TEXTREG+TEXT_ROWS |
00FFE0E4 08D153 bsr ClearScreen |
00FFE0E6 08D1C8 bsr HomeCursor |
00FFE0E8 08E000000 ldx #0 |
00FFE0EB 0CC000000 ldd #0 |
00FFE0EE 017000DFA lbsr ShowSprites |
00FFE0F1 0170008CC lbsr KeybdInit |
00FFE0F4 0DC124 ldd KeybdID |
00FFE0F6 08D336 bsr DispWordAsHex |
00FFE0B8 06F809E3F000 clr PIC,x ; cause code |
00FFE0BC 0A7809E3F001 sta PIC+1,x |
00FFE0C0 0E7809E3F002 stb PIC+2,x |
00FFE0C4 030004 leax 4,x |
00FFE0C6 08C000100 cmpx #256 ; max reg |
00FFE0C9 025FED blo st1 |
00FFE0CB 0860C1 lda #$C1 ; make irq edge sensitive (bit 7), enable interupt (bit 6), irq (bit 0) |
00FFE0CD 0150B7FFFE3F0FD sta PIC+$FD |
00FFE0D2 086041 lda #$41 ; level sensitive, enabled, irq |
00FFE0D4 0150B7FFFE3F0D1 sta PIC+$D1 ; serial irq is #20 |
00FFE0D9 086040 lda #COLS |
00FFE0DB 0150B7FFFE07F00 sta TEXTREG+TEXT_COLS |
00FFE0E0 086020 lda #ROWS |
00FFE0E2 0150B7FFFE07F01 sta TEXTREG+TEXT_ROWS |
00FFE0E7 08D153 bsr ClearScreen |
00FFE0E9 08D1C8 bsr HomeCursor |
00FFE0EB 08E000000 ldx #0 |
00FFE0EE 0CC000000 ldd #0 |
00FFE0F1 0170010DF lbsr ShowSprites |
00FFE0F4 0170008C9 lbsr KeybdInit |
00FFE0F7 0DC124 ldd KeybdID |
00FFE0F9 08D336 bsr DispWordAsHex |
init2: |
00FFE0F8 01700036A lbsr TimerInit |
00FFE0FB 017000AF1 lbsr InitSerial |
00FFE0FE 08E000080 ldx #128 |
00FFE101 086001 lda #1 ; set irq(bit0), clear firq (bit1), disable int (bit 6), clear edge sense(bit 7) |
00FFE103 0C6001 ldb #FIRST_CORE ; serving core id |
00FFE0FB 01700036A lbsr TimerInit |
00FFE0FE 017000AEE lbsr InitSerial |
00FFE101 08E000080 ldx #128 |
00FFE104 086001 lda #1 ; set irq(bit0), clear firq (bit1), disable int (bit 6), clear edge sense(bit 7) |
00FFE106 0C6001 ldb #FIRST_CORE ; serving core id |
; lda #4 ; make the timer interrupt edge sensitive |
; sta PIC+4 ; reg #4 is the edge sensitivity setting |
; sta PIC ; reg #0 is interrupt enable |
00FFE105 0C6001 ldb #1 |
00FFE107 0F7EF1000 stb OUTSEMA+SEMAABS ; set semaphore to 1 available slot |
00FFE108 0C6001 ldb #1 |
00FFE10A 0F7EF1000 stb OUTSEMA+SEMAABS ; set semaphore to 1 available slot |
skip_init: |
00FFE10A 01C0EF andcc #$EF ; unmask irq |
00FFE10C 086005 lda #5 |
00FFE10E 0150B7FFFE60001 sta LEDS |
00FFE113 0CCFFE11C ldd #msgStartup |
00FFE116 08D2C2 bsr DisplayString |
00FFE10D 01C0EF andcc #$EF ; unmask irq |
00FFE10F 086005 lda #5 |
00FFE111 0150B7FFFE60001 sta LEDS |
00FFE116 0CCFFE11F ldd #msgStartup |
00FFE119 08D2C2 bsr DisplayString |
st10: |
00FFE118 03F swi |
00FFE119 000 fcb MF_Monitor |
00FFE11A 020FFC bra st10 |
00FFE11B 03F swi |
00FFE11C 000 fcb MF_Monitor |
00FFE11D 020FFC bra st10 |
|
msgStartup |
00FFE11C 072066036038030039020 fcb "rf6809 12-bit System Starting.",CR,LF,0 |
00FFE123 03103202D062069074020 |
00FFE12A 05307907307406506D020 |
00FFE131 05307406107207406906E |
00FFE138 06702E00D00A000 |
00FFE11F 072066036038030039020 fcb "rf6809 12-bit System Starting.",CR,LF,0 |
00FFE126 03103202D062069074020 |
00FFE12D 05307907307406506D020 |
00FFE134 05307406107207406906E |
00FFE13B 06702E00D00A000 |
|
;------------------------------------------------------------------------------ |
; The checkpoint register must be cleared within 1 second or a NMI interrupt |
572,8 → 591,8
;------------------------------------------------------------------------------ |
|
checkpoint: |
00FFE13D 01507FFFFFFFFE1 clr $FFFFFFFE1 ; writing any value will do |
00FFE142 039 rts |
00FFE140 01507FFFFFFFFE1 clr $FFFFFFFE1 ; writing any value will do |
00FFE145 039 rts |
|
;------------------------------------------------------------------------------ |
; Copy the system ROM to local RAM |
586,14 → 605,14
;------------------------------------------------------------------------------ |
|
romToRam: |
00FFE143 08EFFC000 ldx #$FFC000 |
00FFE146 18E00C000 ldy #$00C000 |
00FFE146 08EFFC000 ldx #$FFC000 |
00FFE149 18E00C000 ldy #$00C000 |
romToRam1: |
00FFE149 0EC801 ldd ,x++ |
00FFE14B 0EDA01 std ,y++ |
00FFE14D 08C000000 cmpx #0 |
00FFE150 026FF7 bne romToRam1 |
00FFE152 039 rts |
00FFE14C 0EC801 ldd ,x++ |
00FFE14E 0EDA01 std ,y++ |
00FFE150 08C000000 cmpx #0 |
00FFE153 026FF7 bne romToRam1 |
00FFE155 039 rts |
|
;------------------------------------------------------------------------------ |
; Multi-core sieve program. |
604,36 → 623,36
; core number minus two. |
; |
multi_sieve: |
00FFE153 086050 lda #'P' ; indicate prime |
00FFE155 0150F6FFFFFFFE0 ldb COREID ; find out which core we are |
00FFE15A 0C0001 subb #FIRST_CORE |
00FFE15C 08E000000 ldx #0 ; start at first char of screen |
00FFE15F 03A abx |
00FFE156 086050 lda #'P' ; indicate prime |
00FFE158 0150F6FFFFFFFE0 ldb COREID ; find out which core we are |
00FFE15D 0C0001 subb #FIRST_CORE |
00FFE15F 08E000000 ldx #0 ; start at first char of screen |
00FFE162 03A abx |
multi_sieve3: |
00FFE160 0A7809E00000 sta TEXTSCR,x ; store 'P' |
00FFE164 030008 leax 8,x ; advance to next position |
00FFE166 08C000FFF cmpx #4095 |
00FFE169 025FF5 blo multi_sieve3 |
00FFE16B 0BDFFE13D jsr checkpoint |
00FFE163 0A7809E00000 sta TEXTSCR,x ; store 'P' |
00FFE167 030008 leax 8,x ; advance to next position |
00FFE169 08C000FFF cmpx #4095 |
00FFE16C 025FF5 blo multi_sieve3 |
00FFE16E 0BDFFE140 jsr checkpoint |
*** warning 1: Long branch within short branch range could be optimized |
00FFE16E 0CB002 addb #2 ; start sieve at 2 (core id) |
00FFE170 08604E lda #'N' ; flag position value of 'N' for non-prime |
00FFE171 0CB002 addb #2 ; start sieve at 2 (core id) |
00FFE173 08604E lda #'N' ; flag position value of 'N' for non-prime |
multi_sieve2: |
00FFE172 08E000000 ldx #0 |
00FFE175 03A abx ; skip the first position - might be prime |
00FFE175 08E000000 ldx #0 |
00FFE178 03A abx ; skip the first position - might be prime |
multi_sieve1: |
00FFE176 03A abx ; increment |
00FFE177 0A7809E00000 sta TEXTSCR,x |
00FFE17B 08C000FFF cmpx #4095 |
00FFE17E 025FF6 blo multi_sieve1 |
00FFE180 0BDFFE13D jsr checkpoint |
00FFE179 03A abx ; increment |
00FFE17A 0A7809E00000 sta TEXTSCR,x |
00FFE17E 08C000FFF cmpx #4095 |
00FFE181 025FF6 blo multi_sieve1 |
00FFE183 0BDFFE140 jsr checkpoint |
*** warning 1: Long branch within short branch range could be optimized |
00FFE183 0CB008 addb #8 ; number of cores working on it |
00FFE185 0C1FF0 cmpb #4080 |
00FFE187 025FE9 blo multi_sieve2 |
00FFE186 0CB008 addb #8 ; number of cores working on it |
00FFE188 0C1FF0 cmpb #4080 |
00FFE18A 025FE9 blo multi_sieve2 |
multi_sieve4: ; hang machine |
00FFE189 013 sync |
00FFE18A 016000EAC lbra Monitor |
00FFE18C 013 sync |
00FFE18D 0160011CC lbra Monitor |
|
;------------------------------------------------------------------------------ |
; Single core sieve. |
640,28 → 659,28
;------------------------------------------------------------------------------ |
|
sieve: |
00FFE18D 086050 lda #'P' ; indicate prime |
00FFE18F 08E000000 ldx #0 ; start at first char of screen |
00FFE190 086050 lda #'P' ; indicate prime |
00FFE192 08E000000 ldx #0 ; start at first char of screen |
sieve3: |
00FFE192 0A7809E00000 sta TEXTSCR,x ; store 'P' |
00FFE196 030001 inx ; advance to next position |
00FFE198 08C000FFF cmpx #4095 |
00FFE19B 025FF5 blo sieve3 |
00FFE19D 0C6002 ldb #2 ; start sieve at 2 |
00FFE19F 08604E lda #'N' ; flag position value of 'N' for non-prime |
00FFE195 0A7809E00000 sta TEXTSCR,x ; store 'P' |
00FFE199 030001 inx ; advance to next position |
00FFE19B 08C000FFF cmpx #4095 |
00FFE19E 025FF5 blo sieve3 |
00FFE1A0 0C6002 ldb #2 ; start sieve at 2 |
00FFE1A2 08604E lda #'N' ; flag position value of 'N' for non-prime |
sieve2: |
00FFE1A1 08E000000 ldx #0 |
00FFE1A4 03A abx ; skip the first position - might be prime |
00FFE1A4 08E000000 ldx #0 |
00FFE1A7 03A abx ; skip the first position - might be prime |
sieve1: |
00FFE1A5 03A abx ; increment |
00FFE1A6 0A7809E00000 sta TEXTSCR,x |
00FFE1AA 08C000FFF cmpx #4095 |
00FFE1AD 025FC7 blo multi_sieve1 |
00FFE1AF 05C incb ; number of cores working on it |
00FFE1B0 0C1FF0 cmpb #4080 |
00FFE1B2 025FED blo sieve2 |
00FFE1A8 03A abx ; increment |
00FFE1A9 0A7809E00000 sta TEXTSCR,x |
00FFE1AD 08C000FFF cmpx #4095 |
00FFE1B0 025FC7 blo multi_sieve1 |
00FFE1B2 05C incb ; number of cores working on it |
00FFE1B3 0C1FF0 cmpb #4080 |
00FFE1B5 025FED blo sieve2 |
sieve4: ; hang machine |
00FFE1B4 039 rts |
00FFE1B7 039 rts |
|
;------------------------------------------------------------------------------ |
; Three second delay for user convenience and to allow some devices time to |
669,30 → 688,30
;------------------------------------------------------------------------------ |
|
Delay3s: |
00FFE1B5 0CC895440 ldd #9000000 |
00FFE1B8 0CC895440 ldd #9000000 |
dly3s1: |
00FFE1B8 0C10FF cmpb #$FF |
00FFE1BA 026000 bne dly3s2 |
00FFE1BB 0C10FF cmpb #$FF |
00FFE1BD 026000 bne dly3s2 |
dly3s2: |
00FFE1BC 0150B7FFFE60001 sta LEDS |
00FFE1C1 083000001 subd #1 |
00FFE1C4 026FF2 bne dly3s1 |
00FFE1C6 039 rts |
00FFE1BF 0150B7FFFE60001 sta LEDS |
00FFE1C4 083000001 subd #1 |
00FFE1C7 026FF2 bne dly3s1 |
00FFE1C9 039 rts |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
ShiftLeft5: |
00FFE1C7 058 aslb |
00FFE1C8 049 rola |
00FFE1C9 058 aslb |
00FFE1CA 049 rola |
00FFE1CB 058 aslb |
00FFE1CC 049 rola |
00FFE1CD 058 aslb |
00FFE1CE 049 rola |
00FFE1CF 058 aslb |
00FFE1D0 049 rola |
00FFE1D1 039 rts |
00FFE1CA 058 aslb |
00FFE1CB 049 rola |
00FFE1CC 058 aslb |
00FFE1CD 049 rola |
00FFE1CE 058 aslb |
00FFE1CF 049 rola |
00FFE1D0 058 aslb |
00FFE1D1 049 rola |
00FFE1D2 058 aslb |
00FFE1D3 049 rola |
00FFE1D4 039 rts |
|
;------------------------------------------------------------------------------ |
; Parameters: |
700,74 → 719,74
;------------------------------------------------------------------------------ |
; |
CopyVirtualScreenToScreen: |
00FFE1D2 034076 pshs d,x,y,u |
00FFE1D5 034076 pshs d,x,y,u |
; Compute virtual screen location for core passed in accb. |
00FFE1D4 01F098 tfr b,a |
00FFE1D6 048 asla |
00FFE1D7 048 asla |
00FFE1D8 048 asla |
00FFE1D7 01F098 tfr b,a |
00FFE1D9 048 asla |
00FFE1DA 08AC00 ora #$C00 |
00FFE1DC 05F clrb |
00FFE1DD 01F001 tfr d,x |
00FFE1DF 034006 pshs d |
00FFE1E1 18EE00000 ldy #TEXTSCR |
00FFE1E4 0CE000400 ldu #COLS*ROWS/2 |
00FFE1DA 048 asla |
00FFE1DB 048 asla |
00FFE1DC 048 asla |
00FFE1DD 08AC00 ora #$C00 |
00FFE1DF 05F clrb |
00FFE1E0 01F001 tfr d,x |
00FFE1E2 034006 pshs d |
00FFE1E4 18EE00000 ldy #TEXTSCR |
00FFE1E7 0CE000400 ldu #COLS*ROWS/2 |
cv2s1: |
00FFE1E7 0EC801 ldd ,x++ |
00FFE1E9 0EDA01 std ,y++ |
00FFE1EB 0335FF leau -1,u |
00FFE1ED 283000000 cmpu #0 |
00FFE1F0 026FF5 bne cv2s1 |
00FFE1EA 0EC801 ldd ,x++ |
00FFE1EC 0EDA01 std ,y++ |
00FFE1EE 0335FF leau -1,u |
00FFE1F0 283000000 cmpu #0 |
00FFE1F3 026FF5 bne cv2s1 |
; reset the cursor position in the text controller |
00FFE1F2 035010 puls x |
00FFE1F4 0E6808110 ldb CursorRow,x |
00FFE1F7 086040 lda #COLS |
00FFE1F9 03D mul |
00FFE1FA 01F002 tfr d,y |
00FFE1FC 0E6808111 ldb CursorCol,x |
00FFE1FF 01F021 tfr y,x |
00FFE201 03A abx |
00FFE202 0150BFFFFE07F22 stx TEXTREG+TEXT_CURPOS |
00FFE207 0350F6 puls d,x,y,u,pc |
00FFE1F5 035010 puls x |
00FFE1F7 0E6808110 ldb CursorRow,x |
00FFE1FA 086040 lda #COLS |
00FFE1FC 03D mul |
00FFE1FD 01F002 tfr d,y |
00FFE1FF 0E6808111 ldb CursorCol,x |
00FFE202 01F021 tfr y,x |
00FFE204 03A abx |
00FFE205 0150BFFFFE07F22 stx TEXTREG+TEXT_CURPOS |
00FFE20A 0350F6 puls d,x,y,u,pc |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
; |
CopyScreenToVirtualScreen: |
00FFE209 034076 pshs d,x,y,u |
00FFE20B 08D08D bsr GetScreenLocation |
00FFE20D 01F002 tfr d,y |
00FFE20F 08EE00000 ldx #TEXTSCR |
00FFE212 0CE000400 ldu #COLS*ROWS/2 |
00FFE20C 034076 pshs d,x,y,u |
00FFE20E 08D08D bsr GetScreenLocation |
00FFE210 01F002 tfr d,y |
00FFE212 08EE00000 ldx #TEXTSCR |
00FFE215 0CE000400 ldu #COLS*ROWS/2 |
cs2v1: |
00FFE215 0EC801 ldd ,x++ |
00FFE217 0EDA01 std ,y++ |
00FFE219 0335FF leau -1,u |
00FFE21B 283000000 cmpu #0 |
00FFE21E 026FF5 bne cs2v1 |
00FFE220 0350F6 puls d,x,y,u,pc |
00FFE218 0EC801 ldd ,x++ |
00FFE21A 0EDA01 std ,y++ |
00FFE21C 0335FF leau -1,u |
00FFE21E 283000000 cmpu #0 |
00FFE221 026FF5 bne cs2v1 |
00FFE223 0350F6 puls d,x,y,u,pc |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
00FFE222 054045058054053043052 fcb "TEXTSCR " |
00FFE229 020 |
00FFE22A FFE234 fcw TextOpen |
00FFE22C FFE235 fcw TextClose |
00FFE22E FFE236 fcw TextRead |
00FFE230 FFE237 fcw TextWrite |
00FFE232 FFE238 fcw TextSeek |
00FFE225 054045058054053043052 fcb "TEXTSCR " |
00FFE22C 020 |
00FFE22D FFE237 fcw TextOpen |
00FFE22F FFE238 fcw TextClose |
00FFE231 FFE239 fcw TextRead |
00FFE233 FFE23A fcw TextWrite |
00FFE235 FFE23B fcw TextSeek |
|
TextOpen: |
00FFE234 039 rts |
00FFE237 039 rts |
TextClose: |
00FFE235 039 rts |
00FFE238 039 rts |
TextRead: |
00FFE236 039 rts |
00FFE239 039 rts |
TextWrite: |
00FFE237 039 rts |
00FFE23A 039 rts |
TextSeek: |
00FFE238 039 rts |
00FFE23B 039 rts |
|
;------------------------------------------------------------------------------ |
; Clear the screen and the screen color memory |
779,29 → 798,29
;------------------------------------------------------------------------------ |
|
ClearScreen: |
00FFE239 034076 pshs d,x,y,u |
00FFE23B 08E000800 ldx #COLS*ROWS |
00FFE23E 01F013 tfr x,u |
00FFE240 08D058 bsr GetScreenLocation |
00FFE242 01F002 tfr d,y |
00FFE244 0C6020 ldb #' ' ; space char |
00FFE23C 034076 pshs d,x,y,u |
00FFE23E 08E000800 ldx #COLS*ROWS |
00FFE241 01F013 tfr x,u |
00FFE243 08D058 bsr GetScreenLocation |
00FFE245 01F002 tfr d,y |
00FFE247 0C6020 ldb #' ' ; space char |
cs1: |
00FFE246 0E7A00 stb ,y+ ; set text to space |
00FFE248 0301FF leax -1,x ; decrement x |
00FFE24A 026FFA bne cs1 |
00FFE24C 0150F6FFFFFFFE0 ldb COREID ; update colors only if we have focus |
00FFE251 0F1FFC010 cmpb IOFocusID |
00FFE254 02000D bra cs3 |
00FFE256 18EE02000 ldy #TEXTSCR+$2000 |
00FFE249 0E7A00 stb ,y+ ; set text to space |
00FFE24B 0301FF leax -1,x ; decrement x |
00FFE24D 026FFA bne cs1 |
00FFE24F 0150F6FFFFFFFE0 ldb COREID ; update colors only if we have focus |
00FFE254 0F1FFC010 cmpb IOFocusID |
00FFE257 02000D bra cs3 |
00FFE259 18EE02000 ldy #TEXTSCR+$2000 |
; lda CharColor |
00FFE259 0860CE lda #$0CE |
00FFE25B 01F031 tfr u,x ; get back count |
00FFE25C 0860CE lda #$0CE |
00FFE25E 01F031 tfr u,x ; get back count |
cs2: |
00FFE25D 0A7A00 sta ,y+ |
00FFE25F 0301FF dex ; decrement x |
00FFE261 026FFA bne cs2 |
00FFE260 0A7A00 sta ,y+ |
00FFE262 0301FF dex ; decrement x |
00FFE264 026FFA bne cs2 |
cs3: |
00FFE263 0350F6 puls d,x,y,u,pc |
00FFE266 0350F6 puls d,x,y,u,pc |
|
;------------------------------------------------------------------------------ |
; Scroll text on the screen upwards |
811,20 → 830,20
;------------------------------------------------------------------------------ |
|
ScrollUp: |
00FFE265 034076 pshs d,x,y,u |
00FFE267 18E0003FF ldy #(COLS*ROWS-1)/2 ; y = num chars/2 to move |
00FFE26A 08D02E bsr GetScreenLocation |
00FFE26C 01F001 tfr d,x |
00FFE26E 01F003 tfr d,u |
00FFE270 030040 leax COLS,x ; x = index to source row |
00FFE268 034076 pshs d,x,y,u |
00FFE26A 18E0003FF ldy #(COLS*ROWS-1)/2 ; y = num chars/2 to move |
00FFE26D 08D02E bsr GetScreenLocation |
00FFE26F 01F001 tfr d,x |
00FFE271 01F003 tfr d,u |
00FFE273 030040 leax COLS,x ; x = index to source row |
scrup1: |
00FFE272 0EC801 ldd ,x++ ; move 2 characters |
00FFE274 0EDC01 std ,u++ |
00FFE276 0313FF dey |
00FFE278 026FF8 bne scrup1 |
00FFE27A 08601F lda #ROWS-1 |
00FFE27C 08D002 bsr BlankLine |
00FFE27E 0350F6 puls d,x,y,u,pc |
00FFE275 0EC801 ldd ,x++ ; move 2 characters |
00FFE277 0EDC01 std ,u++ |
00FFE279 0313FF dey |
00FFE27B 026FF8 bne scrup1 |
00FFE27D 08601F lda #ROWS-1 |
00FFE27F 08D002 bsr BlankLine |
00FFE281 0350F6 puls d,x,y,u,pc |
|
;------------------------------------------------------------------------------ |
; Blank out a line on the display |
836,21 → 855,21
;------------------------------------------------------------------------------ |
|
BlankLine: |
00FFE280 034016 pshs d,x |
00FFE282 034002 pshs a |
00FFE284 08D014 bsr GetScreenLocation |
00FFE286 01F001 tfr d,x |
00FFE288 035002 puls a |
00FFE28A 0C6040 ldb #COLS ; b = # chars to blank out from video controller |
00FFE28C 03D mul ; d = screen index (row# * #cols) |
00FFE28D 03080B leax d,x |
00FFE28F 086020 lda #' ' |
00FFE291 0C6040 ldb #COLS ; b = # chars to blank out from video controller |
00FFE283 034016 pshs d,x |
00FFE285 034002 pshs a |
00FFE287 08D014 bsr GetScreenLocation |
00FFE289 01F001 tfr d,x |
00FFE28B 035002 puls a |
00FFE28D 0C6040 ldb #COLS ; b = # chars to blank out from video controller |
00FFE28F 03D mul ; d = screen index (row# * #cols) |
00FFE290 03080B leax d,x |
00FFE292 086020 lda #' ' |
00FFE294 0C6040 ldb #COLS ; b = # chars to blank out from video controller |
blnkln1: |
00FFE293 0A7800 sta ,x+ |
00FFE295 05A decb |
00FFE296 026FFB bne blnkln1 |
00FFE298 035096 puls d,x,pc |
00FFE296 0A7800 sta ,x+ |
00FFE298 05A decb |
00FFE299 026FFB bne blnkln1 |
00FFE29B 035096 puls d,x,pc |
|
;------------------------------------------------------------------------------ |
; Get the location of the screen memory. The location |
863,16 → 882,16
;------------------------------------------------------------------------------ |
|
GetScreenLocation: |
00FFE29A 0150B6FFFFFFFE0 lda COREID ; which core are we? |
00FFE29F 0B1FFC010 cmpa IOFocusID ; do we have the IO focus |
00FFE2A2 026008 bne gsl1 ; no, go pick virtual screen address |
00FFE2A4 081020 cmpa #$20 ; CmodA709? |
00FFE2A6 027004 beq gsl1 |
00FFE2A8 0CCE00000 ldd #TEXTSCR ; yes, we update the real screen |
00FFE2AB 039 rts |
00FFE29D 0150B6FFFFFFFE0 lda COREID ; which core are we? |
00FFE2A2 0B1FFC010 cmpa IOFocusID ; do we have the IO focus |
00FFE2A5 026008 bne gsl1 ; no, go pick virtual screen address |
00FFE2A7 081020 cmpa #$20 ; CmodA709? |
00FFE2A9 027004 beq gsl1 |
00FFE2AB 0CCE00000 ldd #TEXTSCR ; yes, we update the real screen |
00FFE2AE 039 rts |
gsl1: |
00FFE2AC 0CC007800 ldd #$7800 |
00FFE2AF 039 rts |
00FFE2AF 0CC007800 ldd #$7800 |
00FFE2B2 039 rts |
|
;------------------------------------------------------------------------------ |
; HomeCursor |
883,18 → 902,18
;------------------------------------------------------------------------------ |
|
HomeCursor: |
00FFE2B0 034016 pshs d,x |
00FFE2B2 00F110 clr CursorRow |
00FFE2B4 00F111 clr CursorCol |
00FFE2B6 0150F6FFFFFFFE0 ldb COREID |
00FFE2BB 0F1FFC010 cmpb IOFocusID |
00FFE2BE 02600A bne hc1 |
00FFE2C0 0C1020 cmpb #$20 |
00FFE2C2 027006 beq hc1 |
00FFE2C4 04F clra |
00FFE2C5 0150B7FFFE07F22 sta TEXTREG+TEXT_CURPOS |
00FFE2B3 034016 pshs d,x |
00FFE2B5 00F110 clr CursorRow |
00FFE2B7 00F111 clr CursorCol |
00FFE2B9 0150F6FFFFFFFE0 ldb COREID |
00FFE2BE 0F1FFC010 cmpb IOFocusID |
00FFE2C1 02600A bne hc1 |
00FFE2C3 0C1020 cmpb #$20 |
00FFE2C5 027006 beq hc1 |
00FFE2C7 04F clra |
00FFE2C8 0150B7FFFE07F22 sta TEXTREG+TEXT_CURPOS |
hc1: |
00FFE2CA 035096 puls d,x,pc |
00FFE2CD 035096 puls d,x,pc |
|
;------------------------------------------------------------------------------ |
; Update the cursor position in the text controller based on the |
905,22 → 924,22
;------------------------------------------------------------------------------ |
; |
UpdateCursorPos: |
00FFE2CC 034016 pshs d,x |
00FFE2CE 0150F6FFFFFFFE0 ldb COREID ; update cursor position in text controller |
00FFE2D3 0F1FFC010 cmpb IOFocusID ; only for the task with the output focus |
00FFE2D6 026018 bne ucp1 |
00FFE2D8 0C1020 cmpb #$20 ; and not for CmodA709 |
00FFE2DA 027014 beq ucp1 |
00FFE2DC 096110 lda CursorRow |
00FFE2DE 08403F anda #$3F ; limit of 63 rows |
00FFE2E0 0150F6FFFE07F00 ldb TEXTREG+TEXT_COLS |
00FFE2E5 03D mul |
00FFE2E6 01F001 tfr d,x |
00FFE2E8 0D6111 ldb CursorCol |
00FFE2EA 03A abx |
00FFE2EB 0150BFFFFE07F22 stx TEXTREG+TEXT_CURPOS |
00FFE2CF 034016 pshs d,x |
00FFE2D1 0150F6FFFFFFFE0 ldb COREID ; update cursor position in text controller |
00FFE2D6 0F1FFC010 cmpb IOFocusID ; only for the task with the output focus |
00FFE2D9 026018 bne ucp1 |
00FFE2DB 0C1020 cmpb #$20 ; and not for CmodA709 |
00FFE2DD 027014 beq ucp1 |
00FFE2DF 096110 lda CursorRow |
00FFE2E1 08403F anda #$3F ; limit of 63 rows |
00FFE2E3 0150F6FFFE07F00 ldb TEXTREG+TEXT_COLS |
00FFE2E8 03D mul |
00FFE2E9 01F001 tfr d,x |
00FFE2EB 0D6111 ldb CursorCol |
00FFE2ED 03A abx |
00FFE2EE 0150BFFFFE07F22 stx TEXTREG+TEXT_CURPOS |
ucp1: |
00FFE2F0 035096 puls d,x,pc |
00FFE2F3 035096 puls d,x,pc |
|
;------------------------------------------------------------------------------ |
; Calculate screen memory location from CursorRow,CursorCol. |
933,24 → 952,24
;------------------------------------------------------------------------------ |
; |
CalcScreenLoc: |
00FFE2F2 034010 pshs x |
00FFE2F4 096110 lda CursorRow |
00FFE2F6 0C6040 ldb #COLS |
00FFE2F8 03D mul |
00FFE2F9 01F001 tfr d,x |
00FFE2FB 0D6111 ldb CursorCol |
00FFE2FD 03A abx |
00FFE2FE 0150F6FFFFFFFE0 ldb COREID ; update cursor position in text controller |
00FFE303 0F1FFC010 cmpb IOFocusID ; only for the task with the output focus |
00FFE306 026009 bne csl1 |
00FFE308 0C1020 cmpb #$20 |
00FFE30A 027005 beq csl1 |
00FFE30C 0150BFFFFE07F22 stx TEXTREG+TEXT_CURPOS |
00FFE2F5 034010 pshs x |
00FFE2F7 096110 lda CursorRow |
00FFE2F9 0C6040 ldb #COLS |
00FFE2FB 03D mul |
00FFE2FC 01F001 tfr d,x |
00FFE2FE 0D6111 ldb CursorCol |
00FFE300 03A abx |
00FFE301 0150F6FFFFFFFE0 ldb COREID ; update cursor position in text controller |
00FFE306 0F1FFC010 cmpb IOFocusID ; only for the task with the output focus |
00FFE309 026009 bne csl1 |
00FFE30B 0C1020 cmpb #$20 |
00FFE30D 027005 beq csl1 |
00FFE30F 0150BFFFFE07F22 stx TEXTREG+TEXT_CURPOS |
csl1: |
00FFE311 08DF87 bsr GetScreenLocation |
00FFE313 03080B leax d,x |
00FFE315 01F010 tfr x,d |
00FFE317 035090 puls x,pc |
00FFE314 08DF87 bsr GetScreenLocation |
00FFE316 03080B leax d,x |
00FFE318 01F010 tfr x,d |
00FFE31A 035090 puls x,pc |
|
;------------------------------------------------------------------------------ |
; Display a character on the screen. |
964,104 → 983,105
;------------------------------------------------------------------------------ |
; |
DisplayChar: |
00FFE319 01700096C lbsr SerialPutChar |
00FFE31C 034016 pshs d,x |
00FFE31E 0C100D cmpb #CR ; carriage return ? |
00FFE320 026007 bne dccr |
00FFE322 00F111 clr CursorCol ; just set cursor column to zero on a CR |
00FFE324 08DFA6 bsr UpdateCursorPos |
00FFE31C 01700097B lbsr SerialPutChar |
ScreenDisplayChar: |
00FFE31F 034016 pshs d,x |
00FFE321 0C100D cmpb #CR ; carriage return ? |
00FFE323 026007 bne dccr |
00FFE325 00F111 clr CursorCol ; just set cursor column to zero on a CR |
00FFE327 08DFA6 bsr UpdateCursorPos |
dcx14: |
00FFE326 01600008C lbra dcx4 |
00FFE329 01600008C lbra dcx4 |
dccr: |
00FFE329 0C1091 cmpb #$91 ; cursor right ? |
00FFE32B 02600D bne dcx6 |
00FFE32D 096111 lda CursorCol |
00FFE32F 081040 cmpa #COLS |
00FFE331 024003 bhs dcx7 |
00FFE333 04C inca |
00FFE334 097111 sta CursorCol |
00FFE32C 0C1091 cmpb #$91 ; cursor right ? |
00FFE32E 02600D bne dcx6 |
00FFE330 096111 lda CursorCol |
00FFE332 081040 cmpa #COLS |
00FFE334 024003 bhs dcx7 |
00FFE336 04C inca |
00FFE337 097111 sta CursorCol |
dcx7: |
00FFE336 08DF94 bsr UpdateCursorPos |
00FFE338 035096 puls d,x,pc |
00FFE339 08DF94 bsr UpdateCursorPos |
00FFE33B 035096 puls d,x,pc |
dcx6: |
00FFE33A 0C1090 cmpb #$90 ; cursor up ? |
00FFE33C 026009 bne dcx8 |
00FFE33E 096110 lda CursorRow |
00FFE340 027FF4 beq dcx7 |
00FFE342 04A deca |
00FFE343 097110 sta CursorRow |
00FFE345 020FEF bra dcx7 |
00FFE33D 0C1090 cmpb #$90 ; cursor up ? |
00FFE33F 026009 bne dcx8 |
00FFE341 096110 lda CursorRow |
00FFE343 027FF4 beq dcx7 |
00FFE345 04A deca |
00FFE346 097110 sta CursorRow |
00FFE348 020FEF bra dcx7 |
dcx8: |
00FFE347 0C1093 cmpb #$93 ; cursor left ? |
00FFE349 026009 bne dcx9 |
00FFE34B 096111 lda CursorCol |
00FFE34D 027FE7 beq dcx7 |
00FFE34F 04A deca |
00FFE350 097111 sta CursorCol |
00FFE352 020FE2 bra dcx7 |
00FFE34A 0C1093 cmpb #$93 ; cursor left ? |
00FFE34C 026009 bne dcx9 |
00FFE34E 096111 lda CursorCol |
00FFE350 027FE7 beq dcx7 |
00FFE352 04A deca |
00FFE353 097111 sta CursorCol |
00FFE355 020FE2 bra dcx7 |
dcx9: |
00FFE354 0C1092 cmpb #$92 ; cursor down ? |
00FFE356 02600B bne dcx10 |
00FFE358 096110 lda CursorRow |
00FFE35A 081020 cmpa #ROWS |
00FFE35C 027FD8 beq dcx7 |
00FFE35E 04C inca |
00FFE35F 097110 sta CursorRow |
00FFE361 020FD3 bra dcx7 |
00FFE357 0C1092 cmpb #$92 ; cursor down ? |
00FFE359 02600B bne dcx10 |
00FFE35B 096110 lda CursorRow |
00FFE35D 081020 cmpa #ROWS |
00FFE35F 027FD8 beq dcx7 |
00FFE361 04C inca |
00FFE362 097110 sta CursorRow |
00FFE364 020FD3 bra dcx7 |
dcx10: |
00FFE363 0C1094 cmpb #$94 ; cursor home ? |
00FFE365 02600C bne dcx11 |
00FFE367 096111 lda CursorCol |
00FFE369 027004 beq dcx12 |
00FFE36B 00F111 clr CursorCol |
00FFE36D 020FC7 bra dcx7 |
00FFE366 0C1094 cmpb #$94 ; cursor home ? |
00FFE368 02600C bne dcx11 |
00FFE36A 096111 lda CursorCol |
00FFE36C 027004 beq dcx12 |
00FFE36E 00F111 clr CursorCol |
00FFE370 020FC7 bra dcx7 |
dcx12: |
00FFE36F 00F110 clr CursorRow |
00FFE371 020FC3 bra dcx7 |
00FFE372 00F110 clr CursorRow |
00FFE374 020FC3 bra dcx7 |
dcx11: |
00FFE373 0C1099 cmpb #$99 ; delete ? |
00FFE375 026008 bne dcx13 |
00FFE377 08DF79 bsr CalcScreenLoc |
00FFE379 01F001 tfr d,x |
00FFE37B 096111 lda CursorCol ; acc = cursor column |
00FFE37D 020011 bra dcx5 |
00FFE376 0C1099 cmpb #$99 ; delete ? |
00FFE378 026008 bne dcx13 |
00FFE37A 08DF79 bsr CalcScreenLoc |
00FFE37C 01F001 tfr d,x |
00FFE37E 096111 lda CursorCol ; acc = cursor column |
00FFE380 020011 bra dcx5 |
dcx13 |
00FFE37F 0C1008 cmpb #CTRLH ; backspace ? |
00FFE381 02601E bne dcx3 |
00FFE383 096111 lda CursorCol |
00FFE385 02702E beq dcx4 |
00FFE387 04A deca |
00FFE388 097111 sta CursorCol |
00FFE38A 08DF66 bsr CalcScreenLoc |
00FFE38C 01F001 tfr d,x |
00FFE38E 096111 lda CursorCol |
00FFE382 0C1008 cmpb #CTRLH ; backspace ? |
00FFE384 02601E bne dcx3 |
00FFE386 096111 lda CursorCol |
00FFE388 02702E beq dcx4 |
00FFE38A 04A deca |
00FFE38B 097111 sta CursorCol |
00FFE38D 08DF66 bsr CalcScreenLoc |
00FFE38F 01F001 tfr d,x |
00FFE391 096111 lda CursorCol |
dcx5: |
00FFE390 0E6001 ldb 1,x |
00FFE392 0E7801 stb ,x++ |
00FFE394 04C inca |
00FFE395 081040 cmpa #COLS |
00FFE397 025FF7 blo dcx5 |
00FFE399 0C6020 ldb #' ' |
00FFE39B 0301FF dex |
00FFE39D 0E7804 stb ,x |
00FFE39F 020014 bra dcx4 |
00FFE393 0E6001 ldb 1,x |
00FFE395 0E7801 stb ,x++ |
00FFE397 04C inca |
00FFE398 081040 cmpa #COLS |
00FFE39A 025FF7 blo dcx5 |
00FFE39C 0C6020 ldb #' ' |
00FFE39E 0301FF dex |
00FFE3A0 0E7804 stb ,x |
00FFE3A2 020014 bra dcx4 |
dcx3: |
00FFE3A1 0C100A cmpb #LF ; linefeed ? |
00FFE3A3 02700E beq dclf |
00FFE3A5 034004 pshs b |
00FFE3A7 08DF49 bsr CalcScreenLoc |
00FFE3A9 01F001 tfr d,x |
00FFE3AB 035004 puls b |
00FFE3AD 0E7804 stb ,x |
00FFE3A4 0C100A cmpb #LF ; linefeed ? |
00FFE3A6 02700E beq dclf |
00FFE3A8 034004 pshs b |
00FFE3AA 08DF49 bsr CalcScreenLoc |
00FFE3AC 01F001 tfr d,x |
00FFE3AE 035004 puls b |
00FFE3B0 0E7804 stb ,x |
; ToDo character color |
; lda CharColor |
; sta $2000,x |
00FFE3AF 08D006 bsr IncCursorPos |
00FFE3B1 020002 bra dcx4 |
00FFE3B2 08D006 bsr IncCursorPos |
00FFE3B4 020002 bra dcx4 |
dclf: |
00FFE3B3 08D011 bsr IncCursorRow |
00FFE3B6 08D011 bsr IncCursorRow |
dcx4: |
00FFE3B5 035096 puls d,x,pc |
00FFE3B8 035096 puls d,x,pc |
|
;------------------------------------------------------------------------------ |
; Increment the cursor position, scroll the screen if needed. |
1071,29 → 1091,29
;------------------------------------------------------------------------------ |
|
IncCursorPos: |
00FFE3B7 034016 pshs d,x |
00FFE3B9 096111 lda CursorCol |
00FFE3BB 04C inca |
00FFE3BC 097111 sta CursorCol |
00FFE3BE 081040 cmpa #COLS |
00FFE3C0 025014 blo icc1 |
00FFE3C2 00F111 clr CursorCol ; column = 0 |
00FFE3C4 020002 bra icr1 |
00FFE3BA 034016 pshs d,x |
00FFE3BC 096111 lda CursorCol |
00FFE3BE 04C inca |
00FFE3BF 097111 sta CursorCol |
00FFE3C1 081040 cmpa #COLS |
00FFE3C3 025014 blo icc1 |
00FFE3C5 00F111 clr CursorCol ; column = 0 |
00FFE3C7 020002 bra icr1 |
IncCursorRow: |
00FFE3C6 034016 pshs d,x |
00FFE3C9 034016 pshs d,x |
icr1: |
00FFE3C8 096110 lda CursorRow |
00FFE3CA 04C inca |
00FFE3CB 097110 sta CursorRow |
00FFE3CD 081020 cmpa #ROWS |
00FFE3CF 025005 blo icc1 |
00FFE3D1 04A deca ; backup the cursor row, we are scrolling up |
00FFE3D2 097110 sta CursorRow |
00FFE3D4 08DE8F bsr ScrollUp |
00FFE3CB 096110 lda CursorRow |
00FFE3CD 04C inca |
00FFE3CE 097110 sta CursorRow |
00FFE3D0 081020 cmpa #ROWS |
00FFE3D2 025005 blo icc1 |
00FFE3D4 04A deca ; backup the cursor row, we are scrolling up |
00FFE3D5 097110 sta CursorRow |
00FFE3D7 08DE8F bsr ScrollUp |
icc1: |
00FFE3D6 08DEF4 bsr UpdateCursorPos |
00FFE3D9 08DEF4 bsr UpdateCursorPos |
icc2: |
00FFE3D8 035096 puls d,x,pc |
00FFE3DB 035096 puls d,x,pc |
|
;------------------------------------------------------------------------------ |
; Display a string on the screen. |
1105,102 → 1125,102
;------------------------------------------------------------------------------ |
; |
DisplayString: |
00FFE3DA 034016 pshs d,x |
00FFE3DC 01F001 tfr d,x |
00FFE3DE 0150B6FFFFFFFE0 lda COREID |
00FFE3E3 081020 cmpa #$20 |
00FFE3E5 027005 beq dspj1B |
00FFE3DD 034016 pshs d,x |
00FFE3DF 01F001 tfr d,x |
00FFE3E1 0150B6FFFFFFFE0 lda COREID |
00FFE3E6 081020 cmpa #$20 |
00FFE3E8 027005 beq dspj1B |
dspj2: ; lock semaphore for access |
00FFE3E7 0B6EF0001 lda OUTSEMA+1 |
00FFE3EA 027FFB beq dspj2 |
00FFE3EA 0B6EF0001 lda OUTSEMA+1 |
00FFE3ED 027FFB beq dspj2 |
dspj1B: |
00FFE3EC 0E6800 ldb ,x+ ; move string char into acc |
00FFE3EE 027005 beq dsretB ; is it end of string ? |
00FFE3F0 017000AEE lbsr OUTCH ; display character |
00FFE3F3 020FF7 bra dspj1B |
00FFE3EF 0E6800 ldb ,x+ ; move string char into acc |
00FFE3F1 027005 beq dsretB ; is it end of string ? |
00FFE3F3 017000DD3 lbsr OUTCH ; display character |
00FFE3F6 020FF7 bra dspj1B |
dsretB: |
00FFE3F5 07FEF0001 clr OUTSEMA+1 ; unlock semaphore |
00FFE3F8 035096 puls d,x,pc |
00FFE3F8 07FEF0001 clr OUTSEMA+1 ; unlock semaphore |
00FFE3FB 035096 puls d,x,pc |
|
DisplayStringCRLF: |
00FFE3FA 034006 pshs d |
00FFE3FC 08DFDC bsr DisplayString |
00FFE3FE 0C600D ldb #CR |
00FFE400 017000ADE lbsr OUTCH |
00FFE403 0C600A ldb #LF |
00FFE405 017000AD9 lbsr OUTCH |
00FFE408 035086 puls d,pc |
00FFE3FD 034006 pshs d |
00FFE3FF 08DFDC bsr DisplayString |
00FFE401 0C600D ldb #CR |
00FFE403 017000DC3 lbsr OUTCH |
00FFE406 0C600A ldb #LF |
00FFE408 017000DBE lbsr OUTCH |
00FFE40B 035086 puls d,pc |
|
; |
; PRINT CR, LF, STRING |
; |
PSTRNG |
00FFE40A 08D002 BSR PCRLF |
00FFE40C 02000D BRA PDATA |
00FFE40D 08D002 BSR PCRLF |
00FFE40F 02000D BRA PDATA |
PCRLF |
00FFE40E 034010 PSHS X |
00FFE410 08EFFE422 LDX #CRLFST |
00FFE413 08D006 BSR PDATA |
00FFE415 035010 PULS X |
00FFE417 039 RTS |
00FFE411 034010 PSHS X |
00FFE413 08EFFE425 LDX #CRLFST |
00FFE416 08D006 BSR PDATA |
00FFE418 035010 PULS X |
00FFE41A 039 RTS |
|
PRINT |
00FFE418 0BDFFEEE1 JSR OUTCH |
00FFE41B 0BDFFF1C9 JSR OUTCH |
PDATA |
00FFE41B 0E6800 LDB ,X+ |
00FFE41D 0C1004 CMPB #$04 |
00FFE41F 026FF7 BNE PRINT |
00FFE421 039 RTS |
00FFE41E 0E6800 LDB ,X+ |
00FFE420 0C1004 CMPB #$04 |
00FFE422 026FF7 BNE PRINT |
00FFE424 039 RTS |
|
CRLFST |
00FFE422 00D00A004 fcb CR,LF,4 |
00FFE425 00D00A004 fcb CR,LF,4 |
|
DispDWordAsHex: |
00FFE425 08D007 bsr DispWordAsHex |
00FFE427 01E001 exg d,x |
00FFE429 08D003 bsr DispWordAsHex |
00FFE42B 01E001 exg d,x |
00FFE42D 039 rts |
00FFE428 08D007 bsr DispWordAsHex |
00FFE42A 01E001 exg d,x |
00FFE42C 08D003 bsr DispWordAsHex |
00FFE42E 01E001 exg d,x |
00FFE430 039 rts |
|
DispWordAsHex: |
00FFE42E 01E089 exg a,b |
00FFE430 08D005 bsr DispByteAsHex |
00FFE432 01E089 exg a,b |
00FFE434 08D001 bsr DispByteAsHex |
00FFE436 039 rts |
00FFE431 01E089 exg a,b |
00FFE433 08D005 bsr DispByteAsHex |
00FFE435 01E089 exg a,b |
00FFE437 08D001 bsr DispByteAsHex |
00FFE439 039 rts |
|
DispByteAsHex: |
00FFE437 034004 pshs b |
00FFE439 054 lsrb |
00FFE43A 054 lsrb |
00FFE43B 054 lsrb |
00FFE43A 034004 pshs b |
00FFE43C 054 lsrb |
00FFE43D 054 lsrb |
00FFE43E 054 lsrb |
00FFE43F 054 lsrb |
00FFE440 054 lsrb |
00FFE441 08D00C bsr DispNyb |
00FFE443 035004 puls b |
00FFE445 034004 pshs b |
00FFE447 054 lsrb |
00FFE448 054 lsrb |
00FFE449 054 lsrb |
00FFE441 054 lsrb |
00FFE442 054 lsrb |
00FFE443 054 lsrb |
00FFE444 08D00C bsr DispNyb |
00FFE446 035004 puls b |
00FFE448 034004 pshs b |
00FFE44A 054 lsrb |
00FFE44B 08D002 bsr DispNyb |
00FFE44D 035004 puls b |
00FFE44B 054 lsrb |
00FFE44C 054 lsrb |
00FFE44D 054 lsrb |
00FFE44E 08D002 bsr DispNyb |
00FFE450 035004 puls b |
|
DispNyb |
00FFE44F 034004 pshs b |
00FFE451 0C400F andb #$0F |
00FFE453 0C100A cmpb #10 |
00FFE455 025007 blo DispNyb1 |
00FFE457 0CB037 addb #'A'-10 |
00FFE459 017000A85 lbsr OUTCH |
00FFE45C 035084 puls b,pc |
00FFE452 034004 pshs b |
00FFE454 0C400F andb #$0F |
00FFE456 0C100A cmpb #10 |
00FFE458 025007 blo DispNyb1 |
00FFE45A 0CB037 addb #'A'-10 |
00FFE45C 017000D6A lbsr OUTCH |
00FFE45F 035084 puls b,pc |
DispNyb1 |
00FFE45E 0CB030 addb #'0' |
00FFE460 017000A7E lbsr OUTCH |
00FFE463 035084 puls b,pc |
00FFE461 0CB030 addb #'0' |
00FFE463 017000D63 lbsr OUTCH |
00FFE466 035084 puls b,pc |
|
;============================================================================== |
; Timer |
1232,34 → 1252,50
; ============================================================================ |
; |
TimerInit: |
00FFE465 0CC061A80 ldd #$61A80 ; compare to 400000 (100 Hz assuming 40MHz clock) |
00FFE468 0150F7FFFE60014 stb VIA+VIA_T3CMPL |
00FFE46D 0150B7FFFE60015 sta VIA+VIA_T3CMPH |
00FFE472 01507FFFFE60012 clr VIA+VIA_T3LL |
00FFE477 01507FFFFE60013 clr VIA+VIA_T3LH |
00FFE47C 0150B6FFFE6000B lda VIA+VIA_ACR ; set continuous mode for timer |
00FFE481 08A100 ora #$100 |
00FFE483 0150B7FFFE6000B sta VIA+VIA_ACR ; enable timer #3 interrupts |
00FFE488 086810 lda #$810 |
00FFE48A 0150B7FFFE6000E sta VIA+VIA_IER |
00FFE48F 039 rts |
00FFE468 0CC061A80 ldd #$61A80 ; compare to 400000 (100 Hz assuming 40MHz clock) |
00FFE46B 0150F7FFFE60014 stb VIA+VIA_T3CMPL |
00FFE470 0150B7FFFE60015 sta VIA+VIA_T3CMPH |
00FFE475 01507FFFFE60012 clr VIA+VIA_T3LL |
00FFE47A 01507FFFFE60013 clr VIA+VIA_T3LH |
00FFE47F 0150B6FFFE6000B lda VIA+VIA_ACR ; set continuous mode for timer |
00FFE484 08A100 ora #$100 |
00FFE486 0150B7FFFE6000B sta VIA+VIA_ACR |
00FFE48B 086880 lda #$880 ; enable timer #3 interrupts |
00FFE48D 0150B7FFFE6000E sta VIA+VIA_IER |
00FFE492 039 rts |
|
TimerIRQ: |
; Reset the edge sense circuit in the PIC |
00FFE490 08601F lda #31 ; Timer is IRQ #31 |
00FFE492 0B7FFC011 sta IrqSource ; stuff a byte indicating the IRQ source for PEEK() |
00FFE493 08601F lda #31 ; Timer is IRQ #31 |
00FFE495 0150B7FFFE3F010 sta PIC+16 ; register 16 is edge sense reset reg |
00FFE49A 0150B6FFFE6000D lda VIA+VIA_IFR |
00FFE49F 02A011 bpl notTimerIRQ |
00FFE4A1 085080 bita #$80 ; timer3 irq is bit 7 |
00FFE4A3 02700D beq notTimerIRQ |
00FFE4A5 01507FFFFE60012 clr VIA+VIA_T3LL |
00FFE4AA 01507FFFFE60013 clr VIA+VIA_T3LH |
00FFE4AF 07CE00037 inc $E00037 ; update timer IRQ screen flag |
00FFE49A 0150B6FFFE3F0FF lda PIC+$FF ; Timer active interrupt flag |
00FFE49F 027041 beq notTimerIRQ |
00FFE4A1 01507FFFFE3F0FF clr PIC+$FF ; clear the flag |
00FFE4A6 08601F lda #31 ; Timer is IRQ #31 |
00FFE4A8 0B7FFC011 sta IrqSource ; stuff a byte indicating the IRQ source for PEEK() |
00FFE4AB 01507FFFFE60012 clr VIA+VIA_T3LL ; should clear the interrupt |
00FFE4B0 01507FFFFE60013 clr VIA+VIA_T3LH |
00FFE4B5 08601F lda #31 ; Timer is IRQ #31 |
00FFE4B7 0150B7FFFE3F010 sta PIC+16 ; register 16 is edge sense reset reg |
00FFE4BC 01507FFFFE3F0FF clr PIC+$FF ; clear the flag |
00FFE4C1 07CE0003F inc $E0003F ; update timer IRQ screen flag |
00FFE4C4 0FCFFC016 ldd milliseconds+2 |
00FFE4C7 0C300000A addd #10 |
00FFE4CA 0FDFFC016 std milliseconds+2 |
00FFE4CD 0FCFFC014 ldd milliseconds |
00FFE4D0 0C9000 adcb #0 |
00FFE4D2 0F7FFC015 stb milliseconds+1 |
00FFE4D5 089000 adca #0 |
00FFE4D7 0B7FFC014 sta milliseconds |
|
; Update XModem timer, we just always do it rather than testing if XModem |
; is active. The increment is set to give approximately 3s before the MSB |
; gets set. |
00FFE4DA 0F6FFC020 ldb xm_timer |
00FFE4DD 0CB004 addb #4 |
00FFE4DF 0F7FFC020 stb xm_timer |
notTimerIRQ: |
00FFE4B2 039 rts |
|
|
00FFE4E2 039 rts |
|
; ============================================================================ |
; __ |
1321,11 → 1357,11
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
i2c_init: |
00FFE4B3 034004 pshs b |
00FFE4B5 0C6004 ldb #4 ; setup prescale for 400kHz clock |
00FFE4B7 0E7804 stb I2C_PREL,x |
00FFE4B9 06F001 clr I2C_PREH,x |
00FFE4BB 035084 puls b,pc |
00FFE4E3 034004 pshs b |
00FFE4E5 0C6004 ldb #4 ; setup prescale for 400kHz clock |
00FFE4E7 0E7804 stb I2C_PREL,x |
00FFE4E9 06F001 clr I2C_PREH,x |
00FFE4EB 035084 puls b,pc |
|
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
; Wait for I2C transfer to complete |
1335,12 → 1371,12
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
i2c_wait_tip: |
00FFE4BD 034004 pshs b |
00FFE4ED 034004 pshs b |
i2cw1: |
00FFE4BF 0E6004 ldb I2C_STAT,x ; would use lvb, but lb is okay since its the I/O area |
00FFE4C1 0C5001 bitb #1 ; wait for tip to clear |
00FFE4C3 026FFA bne i2cw1 |
00FFE4C5 035084 puls b,pc |
00FFE4EF 0E6004 ldb I2C_STAT,x ; would use lvb, but lb is okay since its the I/O area |
00FFE4F1 0C5001 bitb #1 ; wait for tip to clear |
00FFE4F3 026FFA bne i2cw1 |
00FFE4F5 035084 puls b,pc |
|
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
; Write command to i2c |
1352,11 → 1388,11
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
i2c_wr_cmd: |
00FFE4C7 0E7003 stb I2C_TXR,x |
00FFE4C9 0A7004 sta I2C_CMD,x |
00FFE4CB 08DFF0 bsr i2c_wait_tip |
00FFE4CD 0E6004 ldb I2C_STAT,x |
00FFE4CF 039 rts |
00FFE4F7 0E7003 stb I2C_TXR,x |
00FFE4F9 0A7004 sta I2C_CMD,x |
00FFE4FB 08DFF0 bsr i2c_wait_tip |
00FFE4FD 0E6004 ldb I2C_STAT,x |
00FFE4FF 039 rts |
|
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
; Parameters |
1367,30 → 1403,30
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
i2c_xmit1: |
00FFE4D0 034006 pshs d ; save data value |
00FFE4D2 034006 pshs d ; and save it again |
00FFE4D4 0C6001 ldb #1 |
00FFE4D6 0E7002 stb I2C_CTRL,x ; enable the core |
00FFE4D8 0C6076 ldb #$76 ; set slave address = %0111011 |
00FFE4DA 086090 lda #$90 ; set STA, WR |
00FFE4DC 08DFE9 bsr i2c_wr_cmd |
00FFE4DE 08D00A bsr i2c_wait_rx_nack |
00FFE4E0 035006 puls d ; get back data value |
00FFE4E2 086050 lda #$50 ; set STO, WR |
00FFE4E4 08DFE1 bsr i2c_wr_cmd |
00FFE4E6 08D002 bsr i2c_wait_rx_nack |
00FFE4E8 035086 puls d,pc |
00FFE500 034006 pshs d ; save data value |
00FFE502 034006 pshs d ; and save it again |
00FFE504 0C6001 ldb #1 |
00FFE506 0E7002 stb I2C_CTRL,x ; enable the core |
00FFE508 0C6076 ldb #$76 ; set slave address = %0111011 |
00FFE50A 086090 lda #$90 ; set STA, WR |
00FFE50C 08DFE9 bsr i2c_wr_cmd |
00FFE50E 08D00A bsr i2c_wait_rx_nack |
00FFE510 035006 puls d ; get back data value |
00FFE512 086050 lda #$50 ; set STO, WR |
00FFE514 08DFE1 bsr i2c_wr_cmd |
00FFE516 08D002 bsr i2c_wait_rx_nack |
00FFE518 035086 puls d,pc |
|
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
i2c_wait_rx_nack: |
00FFE4EA 034004 pshs b ; save off accb |
00FFE51A 034004 pshs b ; save off accb |
i2cwr1: |
00FFE4EC 0E6004 ldb I2C_STAT,x ; wait for RXack = 0 |
00FFE4EE 0C5080 bitb #$80 ; test for nack |
00FFE4F0 026FFA bne i2cwr1 |
00FFE4F2 035084 puls b,pc |
00FFE51C 0E6004 ldb I2C_STAT,x ; wait for RXack = 0 |
00FFE51E 0C5080 bitb #$80 ; test for nack |
00FFE520 026FFA bne i2cwr1 |
00FFE522 035084 puls b,pc |
|
; ============================================================================ |
; __ |
1445,50 → 1481,50
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
rtc_read: |
00FFE4F4 08EE30500 ldx #RTC |
00FFE4F7 18E007FC0 ldy #RTCBuf |
00FFE4FA 0C6080 ldb #$80 |
00FFE4FC 0E7002 stb I2C_CTRL,x ; enable I2C |
00FFE4FE 0CC0900DE ldd #$900DE ; read address, write op, STA + wr bit |
00FFE501 08DFC4 bsr i2c_wr_cmd |
00FFE503 0C5080 bitb #$80 |
00FFE505 02603C bne rtc_rxerr |
00FFE507 0CC010000 ldd #$10000 ; address zero, wr bit |
00FFE50A 08DFBB bsr i2c_wr_cmd |
00FFE50C 0C5080 bitb #$80 |
00FFE50E 026033 bne rtc_rxerr |
00FFE510 0CC0900DF ldd #$900DF ; read address, read op, STA + wr bit |
00FFE513 08DFB2 bsr i2c_wr_cmd |
00FFE515 0C5080 bitb #$80 |
00FFE517 02602A bne rtc_rxerr |
00FFE524 08EE30500 ldx #RTC |
00FFE527 18E007FC0 ldy #RTCBuf |
00FFE52A 0C6080 ldb #$80 |
00FFE52C 0E7002 stb I2C_CTRL,x ; enable I2C |
00FFE52E 0CC0900DE ldd #$900DE ; read address, write op, STA + wr bit |
00FFE531 08DFC4 bsr i2c_wr_cmd |
00FFE533 0C5080 bitb #$80 |
00FFE535 02603C bne rtc_rxerr |
00FFE537 0CC010000 ldd #$10000 ; address zero, wr bit |
00FFE53A 08DFBB bsr i2c_wr_cmd |
00FFE53C 0C5080 bitb #$80 |
00FFE53E 026033 bne rtc_rxerr |
00FFE540 0CC0900DF ldd #$900DF ; read address, read op, STA + wr bit |
00FFE543 08DFB2 bsr i2c_wr_cmd |
00FFE545 0C5080 bitb #$80 |
00FFE547 02602A bne rtc_rxerr |
|
00FFE519 05F clrb |
00FFE549 05F clrb |
rtcr0001: |
00FFE51A 086020 lda #$20 |
00FFE51C 0A7004 sta I2C_CMD,x ; rd bit |
00FFE51E 08DF9D bsr i2c_wait_tip |
00FFE520 08DFC8 bsr i2c_wait_rx_nack |
00FFE522 0A6004 lda I2C_STAT,x |
00FFE524 085080 bita #$80 |
00FFE526 02601B bne rtc_rxerr |
00FFE528 0A6003 lda I2C_RXR,x |
00FFE52A 0A7A07 sta b,y |
00FFE52C 05C incb |
00FFE52D 0C105F cmpb #$5F |
00FFE52F 025FE9 blo rtcr0001 |
00FFE531 086068 lda #$68 |
00FFE533 0A7004 sta I2C_CMD,x ; STO, rd bit + nack |
00FFE535 08DF86 bsr i2c_wait_tip |
00FFE537 0A6004 lda I2C_STAT,x |
00FFE539 085080 bita #$80 |
00FFE53B 026006 bne rtc_rxerr |
00FFE53D 0A6003 lda I2C_RXR,x |
00FFE53F 0A7A07 sta b,y |
00FFE541 04F05F clrd ; return 0 |
00FFE54A 086020 lda #$20 |
00FFE54C 0A7004 sta I2C_CMD,x ; rd bit |
00FFE54E 08DF9D bsr i2c_wait_tip |
00FFE550 08DFC8 bsr i2c_wait_rx_nack |
00FFE552 0A6004 lda I2C_STAT,x |
00FFE554 085080 bita #$80 |
00FFE556 02601B bne rtc_rxerr |
00FFE558 0A6003 lda I2C_RXR,x |
00FFE55A 0A7A07 sta b,y |
00FFE55C 05C incb |
00FFE55D 0C105F cmpb #$5F |
00FFE55F 025FE9 blo rtcr0001 |
00FFE561 086068 lda #$68 |
00FFE563 0A7004 sta I2C_CMD,x ; STO, rd bit + nack |
00FFE565 08DF86 bsr i2c_wait_tip |
00FFE567 0A6004 lda I2C_STAT,x |
00FFE569 085080 bita #$80 |
00FFE56B 026006 bne rtc_rxerr |
00FFE56D 0A6003 lda I2C_RXR,x |
00FFE56F 0A7A07 sta b,y |
00FFE571 04F05F clrd ; return 0 |
rtc_rxerr: |
00FFE543 06F002 clr I2C_CTRL,x ; disable I2C and return status |
00FFE545 04F clra |
00FFE546 039 rts |
00FFE573 06F002 clr I2C_CTRL,x ; disable I2C and return status |
00FFE575 04F clra |
00FFE576 039 rts |
|
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
; Write the real-time-clock chip. |
1503,40 → 1539,40
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
rtc_write: |
00FFE547 08EE30500 ldx #RTC |
00FFE54A 18E007FC0 ldy #RTCBuf |
00FFE577 08EE30500 ldx #RTC |
00FFE57A 18E007FC0 ldy #RTCBuf |
|
00FFE54D 0C6080 ldb #$80 |
00FFE54F 0E7002 stb I2C_CTRL,x ; enable I2C |
00FFE551 0CC0900DE ldd #$900DE ; read address, write op, STA + wr bit |
00FFE554 08DF71 bsr i2c_wr_cmd |
00FFE556 0C5080 bitb #$80 |
00FFE558 026FE9 bne rtc_rxerr |
00FFE55A 0CC010000 ldd #$10000 ; address zero, wr bit |
00FFE55D 08DF68 bsr i2c_wr_cmd |
00FFE55F 0C5080 bitb #$80 |
00FFE561 026FE0 bne rtc_rxerr |
00FFE57D 0C6080 ldb #$80 |
00FFE57F 0E7002 stb I2C_CTRL,x ; enable I2C |
00FFE581 0CC0900DE ldd #$900DE ; read address, write op, STA + wr bit |
00FFE584 08DF71 bsr i2c_wr_cmd |
00FFE586 0C5080 bitb #$80 |
00FFE588 026FE9 bne rtc_rxerr |
00FFE58A 0CC010000 ldd #$10000 ; address zero, wr bit |
00FFE58D 08DF68 bsr i2c_wr_cmd |
00FFE58F 0C5080 bitb #$80 |
00FFE591 026FE0 bne rtc_rxerr |
|
00FFE563 0C6000 ldb #0 |
00FFE593 0C6000 ldb #0 |
rtcw0001: |
00FFE565 034004 pshs b |
00FFE567 0E6A05 ldb b,y |
00FFE569 086010 lda #$10 |
00FFE56B 08DF5A bsr i2c_wr_cmd |
00FFE56D 0C5080 bitb #$80 |
00FFE56F 035004 puls b |
00FFE571 026FD0 bne rtc_rxerr |
00FFE573 05C incb |
00FFE574 0C105F cmpb #$5F |
00FFE576 025FED blo rtcw0001 |
00FFE578 0E6A05 ldb b,y |
00FFE57A 086050 lda #$50 ; STO, wr bit |
00FFE57C 08DF49 bsr i2c_wr_cmd |
00FFE57E 0C5080 bitb #$80 |
00FFE580 026FC1 bne rtc_rxerr |
00FFE582 04F05F clrd ; return 0 |
00FFE584 06F002 clr I2C_CTRL,x ; disable I2C and return status |
00FFE586 039 rts |
00FFE595 034004 pshs b |
00FFE597 0E6A05 ldb b,y |
00FFE599 086010 lda #$10 |
00FFE59B 08DF5A bsr i2c_wr_cmd |
00FFE59D 0C5080 bitb #$80 |
00FFE59F 035004 puls b |
00FFE5A1 026FD0 bne rtc_rxerr |
00FFE5A3 05C incb |
00FFE5A4 0C105F cmpb #$5F |
00FFE5A6 025FED blo rtcw0001 |
00FFE5A8 0E6A05 ldb b,y |
00FFE5AA 086050 lda #$50 ; STO, wr bit |
00FFE5AC 08DF49 bsr i2c_wr_cmd |
00FFE5AE 0C5080 bitb #$80 |
00FFE5B0 026FC1 bne rtc_rxerr |
00FFE5B2 04F05F clrd ; return 0 |
00FFE5B4 06F002 clr I2C_CTRL,x ; disable I2C and return status |
00FFE5B6 039 rts |
|
;============================================================================== |
; Keyboard I/O |
2042,7 → 2078,7
00FFEA04 026FC3 bne kbdi0002 |
.keybdErr: |
00FFEA06 0CCFFEA2E ldd #msgBadKeybd |
00FFEA09 017FFF9EE lbsr DisplayStringCRLF |
00FFEA09 017FFF9F1 lbsr DisplayStringCRLF |
*** warning 1: Long branch within short branch range could be optimized |
00FFEA0C 020014 bra ledxit |
kbdi0004: |
2432,27 → 2468,32
; none |
;------------------------------------------------------------------------------ |
|
setdp $FFC |
|
InitSerial: |
SerialInit: |
00FFEBEF 04F clra |
00FFEBF0 05F clrb |
00FFEBF1 0DD130 std SerHeadRcv-1 |
00FFEBF3 0DD132 std SerTailRcv-1 |
00FFEBF5 0DD135 std SerHeadXmit-1 |
00FFEBF7 0DD137 std SerTailXmit-1 |
00FFEBF9 00F139 clr SerRcvXon |
00FFEBFB 00F140 clr SerRcvXoff |
00FFEBFD 0150B6FFFFFFFE0 lda COREID |
00FFEBEF 034008 pshs dpr |
00FFEBF1 086FFC lda #$FFC |
00FFEBF3 01F08B tfr a,dpr |
00FFEBF5 04F clra |
00FFEBF6 05F clrb |
00FFEBF7 00F015 clr SerHeadRcv |
00FFEBF9 00F016 clr SerTailRcv |
00FFEBFB 00F017 clr SerHeadXmit |
00FFEBFD 00F018 clr SerTailXmit |
00FFEBFF 00F019 clr SerRcvXon |
00FFEC01 00F01A clr SerRcvXoff |
00FFEC03 0150B6FFFFFFFE0 lda COREID |
sini1: |
00FFEC02 0B1FFC010 cmpa IOFocusID |
00FFEC05 026FFB bne sini1 |
00FFEC07 0C6009 ldb #$09 ; dtr,rts active, rxint enabled, no parity |
00FFEC09 0150F7FFFE30102 stb ACIA+ACIA_CMD |
00FFEC0E 0C601E ldb #$1E ; baud 9600, 1 stop bit, 8 bit, internal baud gen |
00FFEC10 0150F7FFFE30103 stb ACIA+ACIA_CTRL |
00FFEC15 0C60A6 ldb #$0A6 ; diable fifos, reset fifos |
00FFEC17 0150F7FFFE3010B stb ACIA+ACIA_CTRL2 |
00FFEC1C 039 rts |
00FFEC08 091010 cmpa IOFocusID |
00FFEC0A 026FFC bne sini1 |
00FFEC0C 0C600B ldb #$0B ; dtr,rts active, rxint enabled (bit 1=0), no parity |
00FFEC0E 0150F7FFFE30102 stb ACIA+ACIA_CMD |
00FFEC13 0C601E ldb #$1E ; baud 9600, 1 stop bit, 8 bit, internal baud gen |
00FFEC15 0150F7FFFE30103 stb ACIA+ACIA_CTRL |
00FFEC1A 0C60AC ldb #$0AC ; disable fifos (bit zero, one), reset fifos |
00FFEC1C 0150F7FFFE3010B stb ACIA+ACIA_CTRL2 |
00FFEC21 035088 puls dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialGetChar |
2462,7 → 2503,7
; XON. |
; |
; Stack Space: |
; 2 words |
; 3 words |
; Parameters: |
; none |
; Modifies: |
2472,32 → 2513,32
;------------------------------------------------------------------------------ |
|
SerialGetChar: |
00FFEC1D 034030 pshs x,y |
00FFEC1F 18E000000 ldy #0 |
00FFEC22 01A010 sei ; disable interrupts |
00FFEC24 08D082 bsr SerialRcvCount ; check number of chars in receive buffer |
00FFEC26 0C1008 cmpb #8 ; less than 8? |
00FFEC28 02200C bhi sgc2 |
00FFEC2A 0D6139 ldb SerRcvXon ; skip sending XON if already sent |
00FFEC2C 026008 bne sgc2 ; XON already sent? |
00FFEC2E 0C6011 ldb #XON ; if <8 send an XON |
00FFEC30 00F140 clr SerRcvXoff ; clear XOFF status |
00FFEC32 0D7139 stb SerRcvXon ; flag so we don't send it multiple times |
00FFEC34 08D052 bsr SerialPutChar |
00FFEC23 034039 pshs ccr,x,y,dpr |
00FFEC25 086FFC lda #$FFC |
00FFEC27 01F08B tfr a,dpr |
00FFEC29 01A010 sei ; disable interrupts |
00FFEC2B 08D090 bsr SerialRcvCount ; check number of chars in receive buffer |
00FFEC2D 0C1008 cmpb #8 ; less than 8? |
00FFEC2F 02200C bhi sgc2 |
00FFEC31 0D6019 ldb SerRcvXon ; skip sending XON if already sent |
00FFEC33 026008 bne sgc2 ; XON already sent? |
00FFEC35 0C6011 ldb #XON ; if <8 send an XON |
00FFEC37 00F01A clr SerRcvXoff ; clear XOFF status |
00FFEC39 0D7019 stb SerRcvXon ; flag so we don't send it multiple times |
00FFEC3B 08D05D bsr SerialPutChar |
sgc2: |
00FFEC36 0D6131 ldb SerHeadRcv ; check if anything is in buffer |
00FFEC38 0D1133 cmpb SerTailRcv |
00FFEC3A 02700A beq sgcNoChars ; no? |
00FFEC3C 08EBFF000 ldx #SerRcvBuf |
00FFEC3F 04F clra |
00FFEC40 0E6835 ldb b,x ; get byte from buffer |
00FFEC42 00C131 inc SerHeadRcv ; 4k wrap around |
00FFEC44 020003 bra sgcXit |
00FFEC3D 0D6015 ldb SerHeadRcv ; check if anything is in buffer |
00FFEC3F 0D1016 cmpb SerTailRcv |
00FFEC41 02700D beq sgcNoChars ; no? |
00FFEC43 03080FFFB000 leax SerRcvBuf ; x = buffer address |
00FFEC47 04F clra |
00FFEC48 0E680FFFB000 ldb b,x ; get byte from buffer |
00FFEC4C 00C015 inc SerHeadRcv ; 4k wrap around |
00FFEC4E 020003 bra sgcXit |
sgcNoChars: |
00FFEC46 0CCFFFFFF ldd #-1 |
00FFEC50 0CCFFFFFF ldd #-1 |
sgcXit: |
00FFEC49 01C0EF cli |
00FFEC4B 0350B0 puls x,y,pc |
00FFEC53 0350B9 puls ccr,x,y,dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialPeekChar |
2507,7 → 2548,7
; to send an XON here. |
; |
; Stack Space: |
; 0 words |
; 2 words |
; Parameters: |
; none |
; Modifies: |
2517,19 → 2558,21
;------------------------------------------------------------------------------ |
|
SerialPeekChar: |
00FFEC4D 034011 pshs x,ccr |
00FFEC4F 01A010 sei |
00FFEC51 0D6131 ldb SerHeadRcv ; check if anything is in buffer |
00FFEC53 0D1133 cmpb SerTailRcv |
00FFEC55 027008 beq spcNoChars ; no? |
00FFEC57 08EBFF000 ldx #SerRcvBuf |
00FFEC5A 04F clra |
00FFEC5B 0E6815 ldb b,x ; get byte from buffer |
00FFEC5D 020003 bra spcXit |
00FFEC55 034019 pshs x,ccr,dpr |
00FFEC57 086FFC lda #$FFC |
00FFEC59 01F08B tfr a,dpr |
00FFEC5B 01A010 sei |
00FFEC5D 0D6015 ldb SerHeadRcv ; check if anything is in buffer |
00FFEC5F 0D1016 cmpb SerTailRcv |
00FFEC61 02700B beq spcNoChars ; no? |
00FFEC63 03080FFFB000 leax SerRcvBuf |
00FFEC67 04F clra |
00FFEC68 0E680FFFB000 ldb b,x ; get byte from buffer |
00FFEC6C 020003 bra spcXit |
spcNoChars: |
00FFEC5F 0CCFFFFFF ldd #-1 |
00FFEC6E 0CCFFFFFF ldd #-1 |
spcXit: |
00FFEC62 035091 puls x,ccr,pc |
00FFEC71 035099 puls x,ccr,dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialPeekChar |
2547,22 → 2590,23
;------------------------------------------------------------------------------ |
|
SerialPeekCharDirect: |
00FFEC64 0150B6FFFFFFFE0 lda COREID ; Ensure we have the IO Focus |
00FFEC69 0B1FFC010 cmpa IOFocusID |
00FFEC6C 026014 bne spcd0001 |
00FFEC73 034009 pshs ccr,dpr |
00FFEC75 086FFC lda #$FFC |
00FFEC77 01F08B tfr a,dpr |
00FFEC79 0150B6FFFFFFFE0 lda COREID ; Ensure we have the IO Focus |
00FFEC7E 091010 cmpa IOFocusID |
00FFEC80 026013 bne spcd0001 |
; Disallow interrupts between status read and rx read. |
00FFEC6E 01A010 sei |
00FFEC70 0150F6FFFE30101 ldb ACIA+ACIA_STAT |
00FFEC75 0C5008 bitb #8 ; look for Rx not empty |
00FFEC77 027009 beq spcd0001 |
00FFEC79 04F clra |
00FFEC7A 0150F6FFFE30100 ldb ACIA+ACIA_RX |
00FFEC7F 01C0EF cli |
00FFEC81 039 rts |
00FFEC82 01A010 sei |
00FFEC84 0150F6FFFE30101 ldb ACIA+ACIA_STAT |
00FFEC89 0C5008 bitb #8 ; look for Rx not empty |
00FFEC8B 027008 beq spcd0001 |
00FFEC8D 04F clra |
00FFEC8E 0150F6FFFE30100 ldb ACIA+ACIA_RX |
00FFEC93 035089 puls ccr,dpr,pc |
spcd0001: |
00FFEC82 0CCFFFFFF ldd #-1 |
00FFEC85 01C0EF cli |
00FFEC87 039 rts |
00FFEC95 0CCFFFFFF ldd #-1 |
00FFEC98 035089 puls ccr,dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialPutChar |
2578,40 → 2622,43
;------------------------------------------------------------------------------ |
|
SerialPutChar: |
00FFEC88 034003 pshs a,ccr |
00FFEC9A 03400B pshs a,ccr,dpr |
00FFEC9C 086FFC lda #$FFC |
00FFEC9E 01F08B tfr a,dpr |
spc0001: |
00FFEC8A 0150B6FFFFFFFE0 lda COREID ; Ensure we have the IO Focus |
00FFEC8F 0B1FFC010 cmpa IOFocusID |
00FFEC92 026FF6 bne spc0001 |
00FFEC94 01C0EF cli ; provide a window for an interrupt to occur |
00FFEC96 01A010 sei |
00FFECA0 0150B6FFFFFFFE0 lda COREID ; Ensure we have the IO Focus |
00FFECA5 091010 cmpa IOFocusID |
00FFECA7 026FF7 bne spc0001 |
00FFECA9 01C0EF cli ; provide a window for an interrupt to occur |
00FFECAB 01A010 sei |
; Between the status read and the transmit do not allow an |
; intervening interrupt. |
00FFEC98 0150B6FFFE30101 lda ACIA+ACIA_STAT ; wait until the uart indicates tx empty |
00FFEC9D 085010 bita #16 ; bit #4 of the status reg |
00FFEC9F 027FE9 beq spc0001 ; branch if transmitter is not empty |
00FFECA1 0150F7FFFE30100 stb ACIA+ACIA_TX ; send the byte |
00FFECA6 035083 puls a,ccr,pc |
00FFECAD 0150B6FFFE30101 lda ACIA+ACIA_STAT ; wait until the uart indicates tx empty |
00FFECB2 085010 bita #16 ; bit #4 of the status reg |
00FFECB4 027FEA beq spc0001 ; branch if transmitter is not empty |
00FFECB6 0150F7FFFE30100 stb ACIA+ACIA_TX ; send the byte |
00FFECBB 03508B puls a,ccr,dpr,pc |
|
;------------------------------------------------------------------------------ |
; Calculate number of character in input buffer |
; Calculate number of character in input buffer. Direct page must be set |
; already. |
; |
; Parameters: |
; y = 0 if current core, otherwise reference to core memory area $Cyxxxx |
; none |
; Returns: |
; d = number of bytes in buffer. |
;------------------------------------------------------------------------------ |
|
SerialRcvCount: |
00FFECA8 04F clra |
00FFECA9 0E6A08133 ldb SerTailRcv,y |
00FFECAC 0E0A08131 subb SerHeadRcv,y |
00FFECAF 02C009 bge srcXit |
00FFECB1 0CC001000 ldd #$1000 |
00FFECB4 0A3A08131 subd SerHeadRcv,y |
00FFECB7 0E3A08133 addd SerTailRcv,y |
00FFECBD 04F clra |
00FFECBE 0D6016 ldb SerTailRcv |
00FFECC0 0D0015 subb SerHeadRcv |
00FFECC2 02C007 bge srcXit |
00FFECC4 0CC001000 ldd #$1000 |
00FFECC7 093015 subd SerHeadRcv |
00FFECC9 0D3016 addd SerTailRcv |
srcXit: |
00FFECBA 039 rts |
00FFECCB 039 rts |
|
;------------------------------------------------------------------------------ |
; Serial IRQ routine |
2629,51 → 2676,47
;------------------------------------------------------------------------------ |
|
SerialIRQ: |
00FFECCC 034008 pshs dpr ; set direct page register to boot variables |
00FFECCE 086FFC lda #$FFC |
00FFECD0 01F08B tfr a,dpr |
00FFECD2 0150B6FFFE3F0D3 lda PIC+$D3 ; Serial active interrupt flag |
00FFECD7 027042 beq notSerInt |
sirqNxtByte: |
00FFECBB 0150F6FFFE30101 ldb ACIA+ACIA_STAT ; check the status |
00FFECC0 0C5008 bitb #$08 ; bit 3 = rx full |
00FFECC2 027049 beq notRxInt |
00FFECC4 0150F6FFFE30100 ldb ACIA+ACIA_RX ; get data from Rx buffer to clear interrupt |
00FFECC9 0C1014 cmpb #CTRLT ; detect special keystroke |
00FFECCB 026000 bne sirq0001 |
; bsr DumpTraceQueue |
sirq0001: |
00FFECCD 034004 pshs b |
; Compute receive buffer address |
00FFECCF 0B6FFC010 lda IOFocusID |
00FFECD2 048 asla |
00FFECD3 048 asla |
00FFECD4 048 asla |
00FFECD5 048 asla |
00FFECD6 08AC00 ora #$C00 |
00FFECD8 05F clrb |
00FFECD9 01F002 tfr d,y |
00FFECDB 035004 puls b |
00FFECDD 0A6A08133 lda SerTailRcv,y ; check if recieve buffer full |
00FFECE0 04C inca |
00FFECE1 0A1A08131 cmpa SerHeadRcv,y |
00FFECE4 027027 beq sirqRxFull |
00FFECE6 0A7A08133 sta SerTailRcv,y ; update tail pointer |
00FFECE9 04A deca ; backup |
00FFECEA 01E089 exg a,b |
00FFECEC 030A0A000BFF000 leax SerRcvBuf,y ; x = buffer address |
00FFECF1 0A7A0F sta b,x ; store recieved byte in buffer |
00FFECF3 06DA08140 tst SerRcvXoff,y ; check if xoff already sent |
00FFECF6 026FC3 bne sirqNxtByte |
00FFECF8 08DFAE bsr SerialRcvCount ; if more than 4080 chars in buffer |
00FFECFA 0C1FF0 cmpb #4080 |
00FFECFC 025FBD blo sirqNxtByte |
00FFECFE 0C6013 ldb #XOFF ; send an XOFF |
00FFED00 06FA08139 clr SerRcvXon,y ; clear XON status |
00FFED03 0E7A08140 stb SerRcvXoff,y ; set XOFF status |
00FFED06 0150F7FFFE30100 stb ACIA+ACIA_TX |
00FFED0B 020FAE bra sirqNxtByte ; check the status for another byte |
00FFECD9 0150F6FFFE30104 ldb ACIA+ACIA_IRQS ; look for IRQs |
00FFECDE 02A03B bpl notSerInt ; quick test for any irqs |
00FFECE0 0150F6FFFE30101 ldb ACIA+ACIA_STAT ; check the status |
00FFECE5 0C5008 bitb #$08 ; bit 3 = rx full (not empty) |
00FFECE7 027030 beq notRxInt1 |
00FFECE9 0150F6FFFE30100 ldb ACIA+ACIA_RX ; get data from Rx buffer to clear interrupt |
00FFECEE 096016 lda SerTailRcv ; check if recieve buffer full |
00FFECF0 04C inca |
00FFECF1 091015 cmpa SerHeadRcv |
00FFECF3 027026 beq sirqRxFull |
00FFECF5 097016 sta SerTailRcv ; update tail pointer |
00FFECF7 04A deca ; backup |
00FFECF8 01E089 exg a,b |
00FFECFA 03080FFFB000 leax SerRcvBuf ; x = buffer address |
00FFECFE 0A780FFFB000 sta b,x ; store recieved byte in buffer |
00FFED02 00D01A tst SerRcvXoff ; check if xoff already sent |
00FFED04 026FD3 bne sirqNxtByte |
00FFED06 08DFB5 bsr SerialRcvCount ; if more than 4070 chars in buffer |
00FFED08 0C1FE6 cmpb #4070 |
00FFED0A 025FCD blo sirqNxtByte |
00FFED0C 0C6013 ldb #XOFF ; send an XOFF |
00FFED0E 00F019 clr SerRcvXon ; clear XON status |
00FFED10 0D701A stb SerRcvXoff ; set XOFF status |
00FFED12 0150F7FFFE30100 stb ACIA+ACIA_TX |
00FFED17 020FC0 bra sirqNxtByte ; check the status for another byte |
; Process other serial IRQs |
notRxInt1: |
00FFED19 035088 puls dpr,pc |
sirqRxFull: |
notRxInt: |
00FFED0D 039 rts |
notSerInt: |
00FFED1B 035088 puls dpr,pc |
|
nmeSerial: |
00FFED0E 05306507206906106C000 fcb "Serial",0 |
00FFED1D 05306507206906106C000 fcb "Serial",0 |
|
;------------------------------------------------------------------------------ |
; Put a string to the serial port. |
2687,16 → 2730,16
;------------------------------------------------------------------------------ |
|
SerialPutString: |
00FFED15 034016 pshs d,x |
00FFED17 01F001 tfr d,x |
00FFED24 034016 pshs d,x |
00FFED26 01F001 tfr d,x |
sps2: |
00FFED19 0E6804 ldb ,x |
00FFED1B 027006 beq spsXit |
00FFED1D 030001 inx |
00FFED1F 08DF67 bsr SerialPutChar |
00FFED21 020FF6 bra sps2 |
00FFED28 0E6804 ldb ,x |
00FFED2A 027006 beq spsXit |
00FFED2C 030001 inx |
00FFED2E 08DF6A bsr SerialPutChar |
00FFED30 020FF6 bra sps2 |
spsXit: |
00FFED23 035096 puls d,x,pc |
00FFED32 035096 puls d,x,pc |
|
;------------------------------------------------------------------------------ |
; A little routine to test serial output. |
2710,28 → 2753,29
;------------------------------------------------------------------------------ |
|
SerialOutputTest: |
00FFED25 034006 pshs d |
00FFED27 0CCFFED45 ldd #msgSerialTest |
00FFED2A 017FFF6AD lbsr DisplayString |
00FFED34 034006 pshs d |
00FFED36 0CCFFED54 ldd #msgSerialTest |
00FFED39 017FFF6A1 lbsr DisplayString |
*** warning 1: Long branch within short branch range could be optimized |
00FFED2D 08DEC0 bsr SerialInit |
00FFED3C 08DEB1 bsr SerialInit |
sotst1: |
00FFED2F 0C6011 ldb #XON |
00FFED31 08DF55 bsr SerialPutChar |
00FFED33 08DF53 bsr SerialPutChar |
00FFED35 08DF51 bsr SerialPutChar |
00FFED37 0CCFFED45 ldd #msgSerialTest |
00FFED3A 08DFD9 bsr SerialPutString |
00FFED3C 01700016A lbsr INCH |
00FFED3F 0C1003 cmpb #CTRLC |
00FFED41 026FEC bne sotst1 |
00FFED43 035086 puls d,pc |
00FFED3E 0C6011 ldb #XON |
00FFED40 08DF58 bsr SerialPutChar |
00FFED42 08DF56 bsr SerialPutChar |
00FFED44 08DF54 bsr SerialPutChar |
00FFED46 0CCFFED54 ldd #msgSerialTest |
00FFED49 08DFD9 bsr SerialPutString |
00FFED4B 017000443 lbsr INCH |
00FFED4E 0C1003 cmpb #CTRLC |
00FFED50 026FEC bne sotst1 |
00FFED52 035086 puls d,pc |
|
msgSerialTest: |
00FFED45 05306507206906106C020 fcb "Serial port test",CR,LF,0 |
00FFED4C 07006F072074020074065 |
00FFED53 07307400D00A000 |
00FFED54 05306507206906106C020 fcb "Serial port test",CR,LF,0 |
00FFED5B 07006F072074020074065 |
00FFED62 07307400D00A000 |
|
setdp $000 |
; ============================================================================ |
; __ |
; \\__/ o\ (C) 2022 Robert Finch, Waterloo |
2768,36 → 2812,74
; |
; ============================================================================ |
; |
; S19 variables |
; |
s19Address EQU $940 ; to $943 |
s19StartAddress EQU $944 ; to $947 |
s19Rectype EQU $948 |
s19Reclen EQU $949 |
s19Abort EQU $94A |
s19Checksum EQU $94B |
s19SummaryChecksum EQU $94C |
s19Source EQU $94E |
s19XferAddress EQU $950 ; to $951 |
|
; ------------------------------------------------------------------------------ |
; Input a character either from a file in memory or from the serial port. |
; |
; Parameters: |
; none |
; Returns: |
; accb = character input |
; ------------------------------------------------------------------------------ |
|
s19InputChar: |
00FFED67 07D00094E tst s19Source |
00FFED6A 02700D beq s19ic1 |
00FFED6C 0E690F000950 ldb [s19XferAddress] |
00FFED70 07C000951 inc s19XferAddress+1 ; increment low byte of address pointer |
00FFED73 026003 bne s19ic2 |
00FFED75 07C000950 inc s19XferAddress ; increment high byte of address pointer |
s19ic2: |
00FFED78 039 rts |
s19ic1: |
00FFED79 0CCFFFFFF ldd #-1 ; block until input is available |
00FFED7C 03F swi |
00FFED7D 001 fcb MF_INCH ; monitor input rout |
00FFED7E 039 rts |
|
; ------------------------------------------------------------------------------ |
; Skip over input to the next record. |
; ------------------------------------------------------------------------------ |
|
s19NextRecord: |
00FFED58 0CCFFFFFF ldd #-1 ; block until input is available |
00FFED5B 03F swi |
00FFED5C 001 fcb MF_INCH ; monitor input rout |
00FFED5D 0C100A cmpb #LF ; line feed marks end of record |
00FFED5F 027013 beq s19nr1 |
00FFED61 0C1003 cmpb #CTRLC ; should not get this in a file transfer |
00FFED63 026003 bne s19nr2 |
00FFED65 0F700094A stb s19Abort |
00FFED7F 08DFE6 bsr s19InputChar |
00FFED81 0C100A cmpb #LF ; line feed marks end of record |
00FFED83 027013 beq s19nr1 |
00FFED85 0C1003 cmpb #CTRLC ; should not get this in a file transfer |
00FFED87 026003 bne s19nr2 |
00FFED89 0F700094A stb s19Abort |
s19nr2: |
00FFED68 0C101A cmpb #CTRLZ ; end of file marker? |
00FFED6A 026003 bne s19nr3 |
00FFED6C 0F700094A stb s19Abort |
00FFED8C 0C101A cmpb #CTRLZ ; end of file marker? |
00FFED8E 026003 bne s19nr3 |
00FFED90 0F700094A stb s19Abort |
s19nr3: |
00FFED6F 07D00094A tst s19Abort |
00FFED72 027FE4 beq s19NextRecord |
00FFED93 07D00094A tst s19Abort |
00FFED96 027FE7 beq s19NextRecord |
s19nr1: |
00FFED74 039 rts |
00FFED98 039 rts |
|
; ------------------------------------------------------------------------------ |
; Update the checksum. |
; ------------------------------------------------------------------------------ |
|
s19AddCheck: |
00FFED99 034004 pshs b |
00FFED9B 0FB00094B addb s19Checksum |
00FFED9E 0F700094B stb s19Checksum |
00FFEDA1 035084 puls b,pc |
|
; ------------------------------------------------------------------------------ |
; Input a byte. There are three characters per byte since things are 12-bit. |
; |
; Parameters: |
2807,40 → 2889,37
; ------------------------------------------------------------------------------ |
|
s19GetByte: |
00FFED75 03F swi |
00FFED76 001 fcb MF_INCH ; get the first character |
00FFED77 0170004F6 lbsr AsciiToHexNybble ; convert to nybble |
00FFED7A 07D00094A tst s19Abort ; check for abort |
00FFED7D 027002 beq s19gb1 |
00FFED7F 04F clra |
00FFED80 039 rts |
00FFEDA3 08DFC2 bsr s19InputChar ; get the first character |
00FFEDA5 0170007F7 lbsr AsciiToHexNybble ; convert to nybble |
00FFEDA8 07D00094A tst s19Abort ; check for abort |
00FFEDAB 027002 beq s19gb1 |
00FFEDAD 04F clra |
00FFEDAE 039 rts |
s19gb1: ; shift the value four bits |
00FFED81 058 aslb |
00FFED82 058 aslb |
00FFED83 058 aslb |
00FFED84 058 aslb |
00FFED85 034004 pshs b ; save off value |
00FFED87 03F swi |
00FFED88 001 fcb MF_INCH ; get the second character |
00FFED89 0170004E4 lbsr AsciiToHexNybble ; convert to nybble |
00FFED8C 07D00094A tst s19Abort ; check for abort |
00FFED8F 026011 bne s19gb2 |
00FFED91 0EAE00 orb ,s+ ; merge new nybble into value |
00FFED93 058 aslb ; shift the value four more bits |
00FFED94 058 aslb |
00FFED95 058 aslb |
00FFED96 058 aslb |
00FFED97 034004 pshs b ; save off value |
00FFED99 03F swi |
00FFED9A 001 fcb MF_INCH ; get third character |
00FFED9B 0170004D2 lbsr AsciiToHexNybble ; convert to nybble |
00FFED9E 0EAE00 orb ,s+ ; merge in value |
00FFEDA0 04F clra ; make byte 000 to FFF in D |
00FFEDA1 039 rts |
00FFEDAF 058 aslb |
00FFEDB0 058 aslb |
00FFEDB1 058 aslb |
00FFEDB2 058 aslb |
00FFEDB3 034004 pshs b ; save off value |
00FFEDB5 08DFB0 bsr s19InputChar ; get the second character |
00FFEDB7 0170007E5 lbsr AsciiToHexNybble ; convert to nybble |
00FFEDBA 07D00094A tst s19Abort ; check for abort |
00FFEDBD 026011 bne s19gb2 |
00FFEDBF 0EAE00 orb ,s+ ; merge new nybble into value |
00FFEDC1 058 aslb ; shift the value four more bits |
00FFEDC2 058 aslb |
00FFEDC3 058 aslb |
00FFEDC4 058 aslb |
00FFEDC5 034004 pshs b ; save off value |
00FFEDC7 08DF9E bsr s19InputChar ; get the third character |
00FFEDC9 0170007D3 lbsr AsciiToHexNybble ; convert to nybble |
00FFEDCC 0EAE00 orb ,s+ ; merge in value |
00FFEDCE 04F clra ; make byte 000 to FFF in D |
00FFEDCF 039 rts |
s19gb2: |
00FFEDA2 032601 leas 1,s ; discard saved byte |
00FFEDA4 04F clra |
00FFEDA5 039 rts |
00FFEDD0 032601 leas 1,s ; discard saved byte |
00FFEDD2 04F clra |
00FFEDD3 039 rts |
|
; ------------------------------------------------------------------------------ |
; Zero out address |
2847,11 → 2926,11
; ------------------------------------------------------------------------------ |
|
s19ClearAddress: |
00FFEDA6 07F000940 clr s19Address |
00FFEDA9 07F000941 clr s19Address+1 |
00FFEDAC 07F000942 clr s19Address+2 |
00FFEDAF 07F000943 clr s19Address+3 |
00FFEDB2 039 rts |
00FFEDD4 07F000940 clr s19Address |
00FFEDD7 07F000941 clr s19Address+1 |
00FFEDDA 07F000942 clr s19Address+2 |
00FFEDDD 07F000943 clr s19Address+3 |
00FFEDE0 039 rts |
|
; ------------------------------------------------------------------------------ |
; Get an address composed of two bytes (24 bit) |
2863,15 → 2942,17
; ------------------------------------------------------------------------------ |
|
s19GetAddress2: |
00FFEDB3 08DFF1 bsr s19ClearAddress |
00FFEDB5 08DFBE bsr s19GetByte |
00FFEDB7 0F7000942 stb s19Address+2 |
00FFEDBA 07D00094A tst s19Abort |
00FFEDBD 026005 bne s19ga1 |
00FFEDBF 08DFB4 bsr s19GetByte |
00FFEDC1 0F7000943 stb s19Address+3 |
00FFEDE1 08DFF1 bsr s19ClearAddress |
00FFEDE3 08DFBE bsr s19GetByte |
00FFEDE5 08DFB2 bsr s19AddCheck |
00FFEDE7 0F7000942 stb s19Address+2 |
00FFEDEA 07D00094A tst s19Abort |
00FFEDED 026007 bne s19ga1 |
00FFEDEF 08DFB2 bsr s19GetByte |
00FFEDF1 08DFA6 bsr s19AddCheck |
00FFEDF3 0F7000943 stb s19Address+3 |
s19ga1: |
00FFEDC4 039 rts |
00FFEDF6 039 rts |
|
; ------------------------------------------------------------------------------ |
; Get an address composed of three bytes (36 bit) |
2883,19 → 2964,22
; ------------------------------------------------------------------------------ |
|
s19GetAddress3: |
00FFEDC5 08DFDF bsr s19ClearAddress |
00FFEDC7 08DFAC bsr s19GetByte |
00FFEDC9 0F7000941 stb s19Address+1 |
00FFEDCC 07D00094A tst s19Abort |
00FFEDCF 02600F bne s19ga2 |
00FFEDD1 08DFA2 bsr s19GetByte |
00FFEDD3 0F7000942 stb s19Address+2 |
00FFEDD6 07D00094A tst s19Abort |
00FFEDD9 026005 bne s19ga2 |
00FFEDDB 08DF98 bsr s19GetByte |
00FFEDDD 0F7000943 stb s19Address+3 |
00FFEDF7 08DFDB bsr s19ClearAddress |
00FFEDF9 08DFA8 bsr s19GetByte |
00FFEDFB 08DF9C bsr s19AddCheck |
00FFEDFD 0F7000941 stb s19Address+1 |
00FFEE00 07D00094A tst s19Abort |
00FFEE03 026013 bne s19ga2 |
00FFEE05 08DF9C bsr s19GetByte |
00FFEE07 08DF90 bsr s19AddCheck |
00FFEE09 0F7000942 stb s19Address+2 |
00FFEE0C 07D00094A tst s19Abort |
00FFEE0F 026007 bne s19ga2 |
00FFEE11 08DF90 bsr s19GetByte |
00FFEE13 08DF84 bsr s19AddCheck |
00FFEE15 0F7000943 stb s19Address+3 |
s19ga2: |
00FFEDE0 039 rts |
00FFEE18 039 rts |
|
; ------------------------------------------------------------------------------ |
; Put a byte to memory. |
2902,27 → 2986,30
; ------------------------------------------------------------------------------ |
|
s19PutMem: |
00FFEDE1 05F clrb ; accb = current byte count |
00FFEE19 05F clrb ; accb = current byte count |
s19pm3: |
00FFEDE2 034004 pshs b ; save byte count |
00FFEDE4 08DF8F bsr s19GetByte |
00FFEDE6 07D00094A tst s19Abort |
00FFEDE9 02601C bne s19pm1 |
00FFEDEB 0150E790F000941 stb far [s19Address+1] ; store the byte using far addressing |
00FFEDF0 07C000943 inc s19Address+3 |
00FFEDF3 026008 bne s19pm2 |
00FFEDF5 07C000942 inc s19Address+2 |
00FFEDF8 026003 bne s19pm2 |
00FFEDFA 07C000941 inc s19Address+1 |
00FFEE1A 034004 pshs b ; save byte count |
00FFEE1C 08DF85 bsr s19GetByte |
00FFEE1E 08DF79 bsr s19AddCheck |
00FFEE20 07D00094A tst s19Abort |
00FFEE23 02601E bne s19pm1 |
00FFEE25 0150E790F000941 stb far [s19Address+1] ; store the byte using far addressing |
00FFEE2A 07C000943 inc s19Address+3 |
00FFEE2D 026008 bne s19pm2 |
00FFEE2F 07C000942 inc s19Address+2 |
00FFEE32 026003 bne s19pm2 |
00FFEE34 07C000941 inc s19Address+1 |
s19pm2: |
00FFEDFD 035004 puls b ; get back byte count |
00FFEDFF 05C incb ; increment and |
00FFEE00 0F1000949 cmpb s19Reclen ; compare to record length |
00FFEE03 025FDD blo s19pm3 |
00FFEE05 020F6E bra s19GetByte ; get the checksum byte |
00FFEE37 035004 puls b ; get back byte count |
00FFEE39 05C incb ; increment and |
00FFEE3A 0F1000949 cmpb s19Reclen ; compare to record length |
00FFEE3D 025FDB blo s19pm3 |
00FFEE3F 08DF62 bsr s19GetByte ; get the checksum byte |
00FFEE41 020F56 bra s19AddCheck |
s19pm1: |
00FFEE07 032601 leas 1,s ; faster than actual pull |
00FFEE09 020F6A bra s19GetByte ; get the checksum byte |
00FFEE43 032601 leas 1,s ; faster than actual pull |
00FFEE45 08DF5C bsr s19GetByte ; get the checksum byte |
00FFEE47 020F50 bra s19AddCheck |
|
; ------------------------------------------------------------------------------ |
; Processing for S1 record type. |
2929,9 → 3016,16
; ------------------------------------------------------------------------------ |
|
s19ProcessS1: |
00FFEE0B 08DFA6 bsr s19GetAddress2 |
00FFEE0D 08DFD2 bsr s19PutMem |
00FFEE0F 020072 bra s19lnr |
00FFEE49 08DF96 bsr s19GetAddress2 |
00FFEE4B 08DFCC bsr s19PutMem |
00FFEE4D 07D00094B tst s19Checksum |
00FFEE50 027008 beq s19p11 |
00FFEE52 07C00094C inc s19SummaryChecksum |
00FFEE55 0CCFFEF19 ldd #msgChecksumErr |
00FFEE58 03F swi |
00FFEE59 004 fcb MF_DisplayString |
s19p11: |
00FFEE5A 020099 bra s19lnr |
|
; ------------------------------------------------------------------------------ |
; Processing for S2 record type. |
2938,9 → 3032,16
; ------------------------------------------------------------------------------ |
|
s19ProcessS2: |
00FFEE11 08DFB2 bsr s19GetAddress3 |
00FFEE13 08DFCC bsr s19PutMem |
00FFEE15 02006C bra s19lnr |
00FFEE5C 08DF99 bsr s19GetAddress3 |
00FFEE5E 08DFB9 bsr s19PutMem |
00FFEE60 07D00094B tst s19Checksum |
00FFEE63 027008 beq s19p21 |
00FFEE65 07C00094C inc s19SummaryChecksum |
00FFEE68 0CCFFEF19 ldd #msgChecksumErr |
00FFEE6B 03F swi |
00FFEE6C 004 fcb MF_DisplayString |
s19p21: |
00FFEE6D 020086 bra s19lnr |
|
; S3,4,5,6 not processed |
|
2949,12 → 3050,12
; ------------------------------------------------------------------------------ |
|
s19ProcessS9: |
00FFEE17 08DF9A bsr s19GetAddress2 |
00FFEE19 0FC000942 ldd s19Address+2 |
00FFEE1C 0FD000946 std s19StartAddress+2 |
00FFEE1F 0FC000940 ldd s19Address+0 |
00FFEE22 0FD000944 std s19StartAddress+0 |
00FFEE25 020069 bra s19l2 |
00FFEE6F 08DF70 bsr s19GetAddress2 |
00FFEE71 0FC000942 ldd s19Address+2 |
00FFEE74 0FD000946 std s19StartAddress+2 |
00FFEE77 0FC000940 ldd s19Address+0 |
00FFEE7A 0FD000944 std s19StartAddress+0 |
00FFEE7D 020083 bra s19l2 |
|
; ------------------------------------------------------------------------------ |
; Processing for S8 record type. Gets a three byte (36 bit) start address. |
2961,12 → 3062,12
; ------------------------------------------------------------------------------ |
|
s19ProcessS8: |
00FFEE27 08DF9C bsr s19GetAddress3 |
00FFEE29 0FC000942 ldd s19Address+2 |
00FFEE2C 0FD000946 std s19StartAddress+2 |
00FFEE2F 0FC000940 ldd s19Address+0 |
00FFEE32 0FD000944 std s19StartAddress+0 |
00FFEE35 020059 bra s19l2 |
00FFEE7F 08DF76 bsr s19GetAddress3 |
00FFEE81 0FC000942 ldd s19Address+2 |
00FFEE84 0FD000946 std s19StartAddress+2 |
00FFEE87 0FC000940 ldd s19Address+0 |
00FFEE8A 0FD000944 std s19StartAddress+0 |
00FFEE8D 020073 bra s19l2 |
|
; ------------------------------------------------------------------------------ |
; S19 Loader |
2975,63 → 3076,525
; ------------------------------------------------------------------------------ |
|
S19Loader: |
00FFEE37 07F00094A clr s19Abort ; clear the abort flag |
00FFEE3A 0CCFFEE93 ldd #msgS19Loader ; signon banner |
00FFEE3D 03F swi |
00FFEE3E 004 fcb MF_DisplayString |
00FFEE8F 07F00094E clr s19Source |
00FFEE92 0170006FC lbsr GetNumber ; check for a file storage address |
00FFEE95 05D tstb |
00FFEE96 027009 beq s19l4 ; if not a memory file |
00FFEE98 07C00094E inc s19Source ; set flag indicating a memory file |
00FFEE9B 0FC000912 ldd mon_numwka+2 ; set transfer address variable |
00FFEE9E 0FD000950 std s19XferAddress |
s19l4: |
00FFEEA1 07F00094A clr s19Abort ; clear the abort flag |
00FFEEA4 0CCFFEF05 ldd #msgS19Loader ; signon banner |
00FFEEA7 03F swi |
00FFEEA8 004 fcb MF_DisplayString |
00FFEEA9 07F00094C clr s19SummaryChecksum |
s19l3: |
00FFEE3F 03F swi ; get a character from input |
00FFEE40 001 fcb MF_INCH |
00FFEE41 0C101A cmpb #CTRLZ ; is it CTRL-Z? |
00FFEE43 02704B beq s19l2 |
00FFEE45 0C1053 cmpb #'S' ; records must start with the letter S |
00FFEE47 02603A bne s19lnr |
00FFEE49 03F swi ; get the next character |
00FFEE4A 001 fcb MF_INCH |
00FFEE4B 0C1030 cmpb #'0' ; must be a numeric digit |
00FFEE4D 025034 blo s19lnr |
00FFEE4F 0C1039 cmpb #'9' |
00FFEE51 022030 bhi s19lnr |
00FFEE53 0F7000948 stb s19Rectype ; save off in record type |
00FFEE56 08DF1D bsr s19GetByte ; get a byte indicating record length |
00FFEE58 0F7000949 stb s19Reclen |
00FFEE5B 07D00094A tst s19Abort ; check for abort |
00FFEE5E 026030 bne s19l2 |
00FFEE60 0F6000948 ldb s19Rectype ; process according to record type |
00FFEE63 0C1030 cmpb #'0' |
00FFEE65 02701C beq s19lnr |
00FFEE67 0C1031 cmpb #'1' |
00FFEE69 027FA0 beq s19ProcessS1 ; data record with a two byte address |
00FFEE6B 0C1032 cmpb #'2' |
00FFEE6D 027FA2 beq s19ProcessS2 ; data record with a three byte address |
00FFEE6F 0C1033 cmpb #'3' |
00FFEE71 027010 beq s19lnr |
00FFEE73 0C1035 cmpb #'5' ; record count? ignore |
00FFEE75 02700C beq s19lnr |
00FFEE77 0C1037 cmpb #'7' ; ignore record with 48 bit address |
00FFEE79 027015 beq s19l2 |
00FFEE7B 0C1038 cmpb #'8' |
00FFEE7D 027FA8 beq s19ProcessS8 ; two byte start address |
00FFEE7F 0C1039 cmpb #'9' |
00FFEE81 027F94 beq s19ProcessS9 ; three byte start address |
00FFEEAC 08DEB9 bsr s19InputChar ; get a character from input |
00FFEEAE 0C101A cmpb #CTRLZ ; is it CTRL-Z? |
00FFEEB0 027050 beq s19l2 |
00FFEEB2 07F00094B clr s19Checksum |
00FFEEB5 0C1043 cmpb #'C' ; records must start with the letter C |
00FFEEB7 02603C bne s19lnr |
00FFEEB9 08DEAC bsr s19InputChar ; get the next character |
00FFEEBB 0C1030 cmpb #'0' ; must be a numeric digit |
00FFEEBD 025036 blo s19lnr |
00FFEEBF 0C1039 cmpb #'9' |
00FFEEC1 022032 bhi s19lnr |
00FFEEC3 0F7000948 stb s19Rectype ; save off in record type |
00FFEEC6 08DEDB bsr s19GetByte ; get a byte indicating record length |
00FFEEC8 08DECF bsr s19AddCheck |
00FFEECA 0F7000949 stb s19Reclen |
00FFEECD 07D00094A tst s19Abort ; check for abort |
00FFEED0 026030 bne s19l2 |
00FFEED2 0F6000948 ldb s19Rectype ; process according to record type |
00FFEED5 0C1030 cmpb #'0' |
00FFEED7 02701C beq s19lnr |
00FFEED9 0C1031 cmpb #'1' |
00FFEEDB 027F6C beq s19ProcessS1 ; data record with a two byte address |
00FFEEDD 0C1032 cmpb #'2' |
00FFEEDF 027F7B beq s19ProcessS2 ; data record with a three byte address |
00FFEEE1 0C1033 cmpb #'3' |
00FFEEE3 027010 beq s19lnr |
00FFEEE5 0C1035 cmpb #'5' ; record count? ignore |
00FFEEE7 02700C beq s19lnr |
00FFEEE9 0C1037 cmpb #'7' ; ignore record with 48 bit address |
00FFEEEB 027015 beq s19l2 |
00FFEEED 0C1038 cmpb #'8' |
00FFEEEF 027F8E beq s19ProcessS8 ; two byte start address |
00FFEEF1 0C1039 cmpb #'9' |
00FFEEF3 027F7A beq s19ProcessS9 ; three byte start address |
s19lnr: |
00FFEE83 0C602E ldb #'.' ; output a progress indicator |
00FFEE85 03F swi |
00FFEE86 002 fcb MF_OUTCH |
00FFEE87 08DECF bsr s19NextRecord ; skip to the next record |
00FFEE89 07D00094A tst S19Abort ; check for abort |
00FFEE8C 026002 bne s19l2 |
00FFEE8E 020FAF bra s19l3 ; loop back to process more records |
00FFEEF5 0C602E ldb #'.' ; output a progress indicator |
00FFEEF7 03F swi |
00FFEEF8 002 fcb MF_OUTCH |
00FFEEF9 08DE84 bsr s19NextRecord ; skip to the next record |
00FFEEFB 07D00094A tst S19Abort ; check for abort |
00FFEEFE 026002 bne s19l2 |
00FFEF00 020FAA bra s19l3 ; loop back to process more records |
s19l2: |
00FFEE90 0160001A6 lbra Monitor |
00FFEF02 016000457 lbra Monitor |
|
msgS19Loader: |
00FFEE93 05303103902004C06F061 fcb "S19 Loader Active",CR,LF,0 |
00FFEE9A 064065072020041063074 |
00FFEEA1 06907606500D00A000 |
00FFEF05 05303103902004C06F061 fcb "S19 Loader Active",CR,LF,0 |
00FFEF0C 064065072020041063074 |
00FFEF13 06907606500D00A000 |
msgChecksumErr: |
00FFEF19 053031039020043068065 fcb "S19 Checksum Err",CR,LF,0 |
00FFEF20 06306B07307506D020045 |
00FFEF27 07207200D00A000 |
|
|
; ============================================================================ |
; __ |
; \\__/ o\ (C) 2022 Robert Finch, Waterloo |
; \ __ / All rights reserved. |
; \/_// robfinch<remove>@opencores.org |
; || |
; |
; |
; BSD 3-Clause License |
; Redistribution and use in source and binary forms, with or without |
; modification, are permitted provided that the following conditions are met: |
; |
; 1. Redistributions of source code must retain the above copyright notice, this |
; list of conditions and the following disclaimer. |
; |
; 2. Redistributions in binary form must reproduce the above copyright notice, |
; this list of conditions and the following disclaimer in the documentation |
; and/or other materials provided with the distribution. |
; |
; 3. Neither the name of the copyright holder nor the names of its |
; contributors may be used to endorse or promote products derived from |
; this software without specific prior written permission. |
; |
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
; |
; ============================================================================ |
; |
; Xmodem variables |
; |
xm_timer EQU $FFC020 |
xm_protocol EQU $9F5 |
xm_flag EQU $9F6 |
xm_checksum EQU $9F7 |
xm_tmp2 EQU $9F8 |
xm_packetnum EQU $9FA |
xm_tmp EQU $9FC |
xm_crc EQU $9FE |
xm_ibuf EQU $A00 ; to $A7F |
xm_obuf EQU $A80 ; to $AFF |
|
; ------------------------------------------------------------------------------ |
; Send data using XModem. |
; ------------------------------------------------------------------------------ |
|
xm_SendStart: |
00FFEF2C 0170005A3 lbsr GetRange |
00FFEF2F 0BE000922 ldx mon_r1+2 ; x = buffer address |
00FFEF32 01F013 tfr x,u |
00FFEF34 0C6001 ldb #1 ; packet numbers start at one |
00FFEF36 0F70009FB stb xm_packetnum+1 |
; Wait for receiver to send a NAK |
xm_send: |
00FFEF39 0CCFFFFFF ldd #-1 ; select blocking input |
00FFEF3C 03F swi |
00FFEF3D 001 fcb MF_INCH |
00FFEF3E 0C1015 cmpb #NAK ; should have got a NAK |
00FFEF40 027004 beq xm_send5 |
00FFEF42 0C1043 cmpb #'C' ; or a 'C' |
00FFEF44 026FF3 bne xm_send |
xm_send5: |
00FFEF46 0F70009F5 stb xm_protocol |
xm_send4: |
00FFEF49 0C6001 ldb #SOH ; send start |
00FFEF4B 03F swi |
00FFEF4C 1C9 fcb OUTCH |
00FFEF4D 0F60009FB ldb xm_packetnum+1 ; send packet number |
00FFEF50 03F swi |
00FFEF51 002 fcb MF_OUTCH |
00FFEF52 053 comb ; one's complement |
00FFEF53 03F swi |
00FFEF54 002 fcb MF_OUTCH ; send packet number complement |
00FFEF55 04F clra ; acca = byte count |
00FFEF56 01F013 tfr x,u ; u = buffer address |
xm_send1: |
00FFEF58 0E6C00 ldb ,u+ ; grab a byte from the buffer |
00FFEF5A 03F swi |
00FFEF5B 002 fcb MF_OUTCH ; send it out |
00FFEF5C 04C inca |
00FFEF5D 081080 cmpa #128 ; number of bytes in payload |
00FFEF5F 025FF7 blo xm_send1 |
00FFEF61 0F60009F5 ldb xm_protocol |
00FFEF64 0C1043 cmpb #'C' ; CRC protocol? |
00FFEF66 02601E bne xm_send2 |
00FFEF68 08D17F bsr xm_calc_crc ; compute CRC |
00FFEF6A 0FC0009FE ldd xm_crc ; get crc |
00FFEF6D 044 lsra ; transfer high eight bits first, so |
00FFEF6E 056 rorb ; right shift D by eight |
00FFEF6F 044 lsra |
00FFEF70 056 rorb |
00FFEF71 044 lsra |
00FFEF72 056 rorb |
00FFEF73 044 lsra |
00FFEF74 056 rorb |
00FFEF75 044 lsra |
00FFEF76 056 rorb |
00FFEF77 044 lsra |
00FFEF78 056 rorb |
00FFEF79 044 lsra |
00FFEF7A 056 rorb |
00FFEF7B 044 lsra |
00FFEF7C 056 rorb |
00FFEF7D 03F swi |
00FFEF7E 002 fcb MF_OUTCH ; send out the byte |
00FFEF7F 0FC0009FE ldd xm_crc ; get back CRC |
00FFEF82 03F swi |
00FFEF83 002 fcb MF_OUTCH ; and send out low byte |
00FFEF84 020007 bra xm_send3 |
xm_send2: |
00FFEF86 08D14F bsr xm_calc_checksum |
00FFEF88 0F60009F7 ldb xm_checksum |
00FFEF8B 03F swi |
00FFEF8C 002 fcb MF_OUTCH |
xm_send3: |
00FFEF8D 03F swi |
00FFEF8E 0CCFFFFFF ldd #-1 ; block until input is present |
00FFEF91 001 fcb MF_INCH |
00FFEF92 0C1006 cmpb #ACK |
00FFEF94 026FB3 bne xm_send4 ; not an ACK then resend the record |
00FFEF96 07C0009FA inc xm_packetnum ; increment packet number |
00FFEF99 030080 leax 128,x ; advance buffer pointer |
00FFEF9B 0BC000926 cmpx mon_r2+2 |
00FFEF9E 025FA9 blo xm_send4 ; go send next record |
00FFEFA0 0C6004 ldb #EOT ; send end of transmission |
00FFEFA2 03F swi |
00FFEFA3 002 fcb MF_OUTCH |
00FFEFA4 03F swi |
00FFEFA5 002 fcb MF_OUTCH |
00FFEFA6 03F swi |
00FFEFA7 002 fcb MF_OUTCH |
00FFEFA8 039 rts |
|
; ------------------------------------------------------------------------------ |
; Get a byte, checking for a receive timeout. |
; |
; Returns: |
; accb = byte (0 to 255) or -1 if timed out |
; ------------------------------------------------------------------------------ |
|
xm_getbyte: |
xm_gb1: |
00FFEFA9 07DFFC020 tst xm_timer ; check the timeout - 2048 ticks (3 seconds approx.) |
00FFEFAC 02B009 bmi xm_gb2 |
00FFEFAE 04F clra ; non-blocking |
00FFEFAF 05F clrb |
00FFEFB0 03F swi |
00FFEFB1 001 fcb MF_INCH ; try and get a character |
00FFEFB2 02BFF5 bmi xm_gb1 ; if no character, try again |
00FFEFB4 08D1BA bsr xm_outbyteAsHex |
00FFEFB6 039 rts |
xm_gb2: |
00FFEFB7 0C6FFF ldb #-1 |
00FFEFB9 039 rts |
|
; ------------------------------------------------------------------------------ |
; XModem Receive |
; |
; Parameters: |
; none |
; Modifies: |
; All |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
xm_ReceiveStart: |
00FFEFBA 017FFF1FB lbsr Delay3s ; give a little bit of time for sender |
*** warning 1: Long branch within short branch range could be optimized |
00FFEFBD 017FFF1F8 lbsr Delay3s |
*** warning 1: Long branch within short branch range could be optimized |
00FFEFC0 017FFF1F5 lbsr Delay3s |
*** warning 1: Long branch within short branch range could be optimized |
00FFEFC3 0170005CB lbsr GetNumber ; Get the transfer address |
00FFEFC6 05D tstb ; Make sure we got a value |
00FFEFC7 127000392 lbeq Monitor |
00FFEFCA 0BE000912 ldx mon_numwka+2 ; X = transfer address |
00FFEFCD 07F0009FA clr xm_packetnum ; initialize |
00FFEFD0 086043 lda #'C' ; try for CRC first |
00FFEFD2 0B70009F5 sta xm_protocol |
xm_receive: |
00FFEFD5 086002 lda #2 ; number of times to retry -1 |
xm_rcv5: |
00FFEFD7 0F60009F5 ldb xm_protocol ; indicate we want a transfer (send protocol byte) |
00FFEFDA 03F swi |
00FFEFDB 00D fcb MF_SerialPutchar |
xm_rcv4: |
00FFEFDC 07FFFC020 clr xm_timer ; clear the timeout |
xm_rcv1: |
00FFEFDF 08DFC8 bsr xm_getbyte |
00FFEFE1 05D tstb |
00FFEFE2 02B0A1 bmi xm_retry1 ; timeout on protocol id? |
00FFEFE4 0C1001 cmpb #SOH ; it should be start of a transfer |
00FFEFE6 027012 beq xm_SOH |
00FFEFE8 0C1004 cmpb #EOT |
00FFEFEA 027092 beq xm_EOT ; or end of transfer (EOT) |
00FFEFEC 0C1018 cmpb #CAN |
00FFEFEE 027FE5 beq xm_receive ; might be a cancel |
00FFEFF0 0C1017 cmpb #ETB |
00FFEFF2 02708A beq xm_EOT |
xm_rcv_nak: ; wasn't a valid start so |
00FFEFF4 0C6015 ldb #NAK ; send a NAK |
00FFEFF6 03F swi |
00FFEFF7 00D fcb MF_SerialPutchar ; and try again |
00FFEFF8 020FE2 bra xm_rcv4 |
xm_SOH: |
00FFEFFA 08DFAD bsr xm_getbyte ; get packet number |
00FFEFFC 02B078 bmi xm_rcv_to1 |
00FFEFFE 0F70009FB stb xm_packetnum+1 |
00FFF001 034004 pshs b ; save it |
00FFF003 08DFA4 bsr xm_getbyte ; get complement of packet number |
00FFF005 02B06D bmi xm_rcv_to2 |
00FFF007 0EBE04 addb ,s ; add the two values |
00FFF009 0C40FF andb #$FF ; the sum should be $FF |
00FFF00B 0C00FF subb #$FF |
00FFF00D 0F70009F6 stb xm_flag ; should be storing a zero if there is no error |
00FFF010 18E000000 ldy #0 ; y = payload byte counter |
00FFF013 01F013 tfr x,u |
xm_rcv2: |
00FFF015 08DF92 bsr xm_getbyte |
00FFF017 02B05D bmi xm_rcv_to1 |
00FFF019 0E7C00 stb ,u+ ; store the byte to memory |
00FFF01B 031201 iny |
00FFF01D 18C000080 cmpy #128 ; 128 bytes per payload |
00FFF020 025FF3 blo xm_rcv2 |
00FFF022 08DF85 bsr xm_getbyte ; get checksum or CRC byte |
00FFF024 02B050 bmi xm_rcv_to1 |
00FFF026 0F70009FC stb xm_tmp ; stuff checksum/CRC byte |
00FFF029 0F60009F5 ldb xm_protocol |
00FFF02C 0C1043 cmpb #'C' |
00FFF02E 026022 bne xm_rcv_chksum |
00FFF030 08DF77 bsr xm_getbyte ; get low order CRC byte |
00FFF032 02B042 bmi xm_rcv_to1 |
00FFF034 0B60009FC lda xm_tmp ; get the high byte |
00FFF037 058 aslb ; prepare to combine high and low order |
00FFF038 058 aslb |
00FFF039 058 aslb |
00FFF03A 058 aslb |
00FFF03B 044 lsra ; shift low nybble of acca into accb |
00FFF03C 056 rorb |
00FFF03D 044 lsra |
00FFF03E 056 rorb |
00FFF03F 044 lsra |
00FFF040 056 rorb |
00FFF041 044 lsra |
00FFF042 056 rorb |
00FFF043 08400F anda #$00F ; mask off any extra bits |
00FFF045 0FD0009F8 std xm_tmp2 |
00FFF048 08D09F bsr xm_calc_crc ; compute the CRC-16 for the received data |
00FFF04A 0FC0009FE ldd xm_crc ; and compare to received value |
00FFF04D 1B30009F8 cmpd xm_tmp2 |
00FFF050 020008 bra xm_rcv3 |
xm_rcv_chksum: |
00FFF052 08D083 bsr xm_calc_checksum |
00FFF054 0F60009F7 ldb xm_checksum |
00FFF057 0F10009FC cmpb xm_tmp ; where we stuffed the byte |
xm_rcv3: |
00FFF05A 026F98 bne xm_rcv_nak ; if not the same, NAK |
00FFF05C 07D0009F6 tst xm_flag |
00FFF05F 026F93 bne xm_rcv_nak ; bad packet number? |
00FFF061 0C6006 ldb #ACK ; packet recieved okay, send back an ACK |
00FFF063 03F swi |
00FFF064 00D fcb MF_SerialPutchar |
00FFF065 0F60009FB ldb xm_packetnum+1 ; did we receive the same packet |
00FFF068 0F10009FA cmpb xm_packetnum |
00FFF06B 027F6F beq xm_rcv4 ; same packet received, dont update buffer pointer |
00FFF06D 0F70009FA stb xm_packetnum ; update last seen packet number |
00FFF070 030080 leax 128,x ; increment buffer pointer |
00FFF072 020F68 bra xm_rcv4 ; and go back for next packet |
xm_rcv_to2: |
00FFF074 032601 leas 1,s ; get rid of stacked byte |
xm_rcv_to1: |
00FFF076 0CCFFF09E ldd #msgXmTimeout |
00FFF079 03F swi |
00FFF07A 004 fcb MF_DisplayString |
00FFF07B 0160002DE lbra Monitor |
xm_EOT: ; end of transmission received, return |
00FFF07E 0C6006 ldb #ACK ; ACK the EOT |
00FFF080 03F swi |
00FFF081 00D fcb MF_SerialPutchar |
00FFF082 0160002D7 lbra Monitor |
xm_retry1: |
00FFF085 04A deca |
00FFF086 02AF4F bpl xm_rcv5 |
00FFF088 0B60009F5 lda xm_protocol |
00FFF08B 081015 cmpa #NAK ; are we already lowered down to checksum protocol? |
00FFF08D 027007 beq xm_noTransmitter ; did we try both checksum and CRC? |
00FFF08F 086015 lda #NAK |
00FFF091 0B70009F5 sta xm_protocol |
00FFF094 020F3F bra xm_receive |
xm_noTransmitter: |
00FFF096 0CCFFF0B2 ldd #msgXmNoTransmitter |
00FFF099 03F swi |
00FFF09A 004 fcb MF_DisplayString |
00FFF09B 0160002BE lbra Monitor |
|
msgXmTimeout: |
00FFF09E 05806D06F06406506D03A fcb "Xmodem: timed out",CR,LF,0 |
00FFF0A5 02007406906D065064020 |
00FFF0AC 06F07507400D00A000 |
msgXmNoTransmitter: |
00FFF0B2 05804D06F06406506D03A fcb "XModem: transmitter not responding",CR,LF,0 |
00FFF0B9 02007407206106E07306D |
00FFF0C0 06907407406507202006E |
00FFF0C7 06F074020072065073070 |
00FFF0CE 06F06E06406906E06700D |
00FFF0D5 00A000 |
|
; ------------------------------------------------------------------------------ |
; Calculate checksum value. The checksum is simply the low order eight bits of |
; the sum of all the bytes in the payload area. |
; |
; Stack space: |
; two words |
; Modifies: |
; xm_checksum contains the checksum value for the record |
; Parameters: |
; X = buffer address |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
xm_calc_checksum: |
00FFF0D7 034016 pshs d,x |
00FFF0D9 04F clra |
00FFF0DA 05F clrb |
xm_cs1: |
00FFF0DB 0EB800 addb ,x+ |
00FFF0DD 04C inca |
00FFF0DE 081080 cmpa #128 |
00FFF0E0 025FF9 blo xm_cs1 |
00FFF0E2 0C40FF andb #$FF |
00FFF0E4 0F70009F7 stb xm_checksum |
00FFF0E7 035096 puls d,x,pc |
|
; ------------------------------------------------------------------------------ |
; Compute CRC-16 of buffer. |
; |
;int calcrc(char *ptr, int count) |
;{ |
; int crc; |
; char i; |
; crc = 0; |
; while (--count >= 0) |
; { |
; crc = crc ^ (int) (*ptr++ << 8); |
; i = 8; |
; do |
; { |
; if (crc & 0x8000) |
; crc = crc << 1 ^ 0x1021; |
; else |
; crc = crc << 1; |
; } while(--i); |
; } |
; return (crc); |
;} |
; |
; Modifies: |
; xm_crc variable |
; Parameters: |
; u = buffer address |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
xm_calc_crc: |
00FFF0E9 034076 pshs d,x,y,u |
00FFF0EB 07F0009FE clr xm_crc |
00FFF0EE 07F0009FF clr xm_crc+1 |
00FFF0F1 0CE000000 ldu #0 ; u = byte count |
xm_crc1: |
00FFF0F4 0E6800 ldb ,x+ ; get byte |
00FFF0F6 07F0009FC clr xm_tmp ; save in temp |
00FFF0F9 0F70009FD stb xm_tmp+1 |
00FFF0FC 0780009FD asl xm_tmp+1 ; shift temp eight bits to left |
00FFF0FF 0790009FC rol xm_tmp |
00FFF102 0780009FD asl xm_tmp+1 |
00FFF105 0790009FC rol xm_tmp |
00FFF108 0780009FD asl xm_tmp+1 |
00FFF10B 0790009FC rol xm_tmp |
00FFF10E 0780009FD asl xm_tmp+1 |
00FFF111 0790009FC rol xm_tmp |
00FFF114 0780009FD asl xm_tmp+1 |
00FFF117 0790009FC rol xm_tmp |
00FFF11A 0780009FD asl xm_tmp+1 |
00FFF11D 0790009FC rol xm_tmp |
00FFF120 0780009FD asl xm_tmp+1 |
00FFF123 0790009FC rol xm_tmp |
00FFF126 0780009FD asl xm_tmp+1 |
00FFF129 0790009FC rol xm_tmp |
00FFF12C 0FC0009FE ldd xm_crc ; crc = crc ^ tmp |
00FFF12F 0B80009FC eora xm_tmp |
00FFF132 0F80009FD eorb xm_tmp+1 |
00FFF135 0FD0009FE std xm_crc |
00FFF138 18E000000 ldy #0 |
xm_crc4: |
00FFF13B 0F60009FE ldb xm_crc ; get high byte |
00FFF13E 0C5008 bitb #$8 ; check for $8000 |
00FFF140 02700E beq xm_crc2 ; no? then just go shift |
00FFF142 0FC0009FE ldd xm_crc ; load |
00FFF145 058 aslb ; shift |
00FFF146 049 rola |
00FFF147 0C8021 eorb #$021 ; and xor |
00FFF149 088001 eora #$001 |
00FFF14B 0FD0009FE std xm_crc ; store it back |
00FFF14E 020008 bra xm_crc3 |
xm_crc2: |
00FFF150 0FC0009FE ldd xm_crc ; load |
00FFF153 058 aslb ; shift |
00FFF154 049 rola |
00FFF155 0FD0009FE std xm_crc ; and store |
xm_crc3: |
00FFF158 031201 iny |
00FFF15A 18C000008 cmpy #8 ; repeat eight times |
00FFF15D 025FDC blo xm_crc4 |
00FFF15F 033401 leau 1,u ; increment byte count |
00FFF161 283000080 cmpu #128 |
00FFF164 0FC0009FE ldd xm_crc ; we want only a 16-bit CRC |
00FFF167 08400F anda #$0F |
00FFF169 0FD0009FE std xm_crc |
00FFF16C 025F86 blo xm_crc1 |
00FFF16E 0350F6 puls d,x,y,u,pc |
|
xm_outbyteAsHex: |
00FFF170 034006 pshs d |
00FFF172 0FC000800 ldd CharOutVec ; get current char out vector |
00FFF175 034006 pshs d ; save it |
00FFF177 0CCFFE31F ldd #ScreenDisplayChar ; set output vector to screen display |
00FFF17A 0FD000800 std CharOUtVec |
00FFF17D 0EC602 ldd 2,s ; get passed data |
00FFF17F 017FFF2B8 lbsr DispByteAsHex ; and display on-screen |
*** warning 1: Long branch within short branch range could be optimized |
00FFF182 0C6020 ldb #' ' |
00FFF184 017FFF198 lbsr ScreenDisplayChar |
*** warning 1: Long branch within short branch range could be optimized |
00FFF187 035006 puls d ; get back old char out vector |
00FFF189 0FD000800 std CharOutVec ; and restore it |
00FFF18C 035006 puls d ; restore input arguments |
00FFF18E 039 rts |
|
|
|
;------------------------------------------------------------------------------ |
; Check if there is a keyboard character available. If so return true (<0) |
; otherwise return false (0) in accb. |
3038,54 → 3601,55
;------------------------------------------------------------------------------ |
; |
KeybdCheckForKeyDirect: |
00FFEEA7 020BE7 bra DBGCheckForKey |
00FFF18F 0208FF bra DBGCheckForKey |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
INCH: |
00FFEEA9 034004 pshs b |
00FFF191 034004 pshs b |
INCH2: |
00FFEEAB 0150F6FFFFFFFE0 ldb COREID |
00FFEEB0 0F1FFC010 cmpb IOFocusID ; if we do not have focus, block |
00FFEEB3 026FF6 bne INCH2 |
00FFF193 0150F6FFFFFFFE0 ldb COREID |
00FFF198 0F1FFC010 cmpb IOFocusID ; if we do not have focus, block |
00FFF19B 026FF6 bne INCH2 |
; ldb #$800 ; block if no key available, get scancode directly |
; bra GetKey |
; jsr [CharInVec] ; vector is being overwritten somehow |
00FFEEB5 017FFFDAC lbsr SerialPeekCharDirect |
00FFF19D 017FFFAD3 lbsr SerialPeekCharDirect |
*** warning 1: Long branch within short branch range could be optimized |
00FFEEB8 04D tsta |
00FFEEB9 02B003 bmi INCH1 ; block if no key available |
00FFEEBB 032601 leas 1,s ; get rid of blocking status |
00FFEEBD 039 rts |
; lbsr SerialGetChar |
00FFF1A0 04D tsta |
00FFF1A1 02B003 bmi INCH1 ; block if no key available |
00FFF1A3 032601 leas 1,s ; get rid of blocking status |
00FFF1A5 039 rts ; return character |
INCH1: |
00FFEEBE 035004 puls b ; check blocking status |
00FFEEC0 05D tstb |
00FFEEC1 02BFE6 bmi INCH ; if blocking, loop |
00FFEEC3 0CCFFFFFF ldd #-1 ; return -1 if no char available |
00FFEEC6 039 rts |
00FFF1A6 035004 puls b ; check blocking status |
00FFF1A8 05D tstb |
00FFF1A9 02BFE6 bmi INCH ; if blocking, loop |
00FFF1AB 0CCFFFFFF ldd #-1 ; return -1 if no char available |
00FFF1AE 039 rts |
|
INCHE: |
00FFEEC7 08DFE0 bsr INCH |
00FFEEC9 020009 bra INCHEK3 |
00FFF1AF 08DFE0 bsr INCH |
00FFF1B1 020009 bra INCHEK3 |
|
INCHEK: |
00FFEECB 08DFDC bsr INCH |
00FFEECD 01507DFFFFFCA00 tst KeybdEcho |
00FFEED2 02700C beq INCHEK1 |
00FFF1B3 08DFDC bsr INCH |
00FFF1B5 01507DFFFFFCA00 tst KeybdEcho |
00FFF1BA 02700C beq INCHEK1 |
INCHEK3: |
00FFEED4 08100D cmpa #CR |
00FFEED6 026005 bne INCHEK2 |
00FFEED8 017FFE1F7 lbsr CRLF |
00FFF1BC 08100D cmpa #CR |
00FFF1BE 026005 bne INCHEK2 |
00FFF1C0 017FFDF0F lbsr CRLF |
*** warning 1: Long branch within short branch range could be optimized |
00FFEEDB 020003 bra INCHEK1 |
00FFF1C3 020003 bra INCHEK1 |
INCHEK2: |
00FFEEDD 017FFF439 lbsr DisplayChar |
00FFF1C5 017FFF154 lbsr DisplayChar |
*** warning 1: Long branch within short branch range could be optimized |
INCHEK1: |
00FFEEE0 039 rts |
00FFF1C8 039 rts |
|
OUTCH: |
00FFEEE1 06E90F000800 jmp [CharOutVec] |
00FFF1C9 06E90F000800 jmp [CharOutVec] |
|
;------------------------------------------------------------------------------ |
; r1 0=echo off, non-zero = echo on |
3092,8 → 3656,8
;------------------------------------------------------------------------------ |
; |
SetKeyboardEcho: |
00FFEEE5 0150F7FFFFFCA00 stb KeybdEcho |
00FFEEEA 039 rts |
00FFF1CD 0150F7FFFFFCA00 stb KeybdEcho |
00FFF1D2 039 rts |
|
|
;------------------------------------------------------------------------------ |
3102,9 → 3666,9
;------------------------------------------------------------------------------ |
|
ShowSprites: |
00FFEEEB 0150BFFFFE103C0 stx SPRITE_CTRL+SPRITE_EN |
00FFEEF0 0150FDFFFE103C2 std SPRITE_CTRL+SPRITE_EN+2 |
00FFEEF5 039 rts |
00FFF1D3 0150BFFFFE103C0 stx SPRITE_CTRL+SPRITE_EN |
00FFF1D8 0150FDFFFE103C2 std SPRITE_CTRL+SPRITE_EN+2 |
00FFF1DD 039 rts |
|
;============================================================================== |
; Femtiki Operating System. |
3111,74 → 3675,74
;============================================================================== |
|
OSCallTbl: |
00FFEEF6 000000 fcw 0 |
00FFEEF8 000000 fcw 0 |
00FFEEFA 000000 fcw 0 |
00FFEEFC 000000 fcw 0 |
00FFEEFE 000000 fcw 0 |
00FFEF00 000000 fcw 0 |
00FFEF02 000000 fcw 0 |
00FFEF04 000000 fcw 0 |
00FFEF06 000000 fcw 0 |
00FFEF08 000000 fcw 0 |
00FFEF0A 000000 fcw 0 |
00FFEF0C 000000 fcw 0 |
00FFEF0E 000000 fcw 0 |
00FFEF10 000000 fcw 0 |
00FFEF12 000000 fcw 0 |
00FFEF14 000000 fcw 0 |
00FFEF16 000000 fcw 0 |
00FFEF18 000000 fcw 0 |
00FFEF1A 000000 fcw 0 |
00FFEF1C 000000 fcw 0 |
00FFEF1E 000000 fcw 0 |
00FFEF20 000000 fcw 0 |
00FFEF22 FFEF3F fcw ReleaseIOFocus |
00FFEF24 000000 fcw 0 |
00FFEF26 FFEF28 fcw RequestIOFocus |
00FFF1DE 000000 fcw 0 |
00FFF1E0 000000 fcw 0 |
00FFF1E2 000000 fcw 0 |
00FFF1E4 000000 fcw 0 |
00FFF1E6 000000 fcw 0 |
00FFF1E8 000000 fcw 0 |
00FFF1EA 000000 fcw 0 |
00FFF1EC 000000 fcw 0 |
00FFF1EE 000000 fcw 0 |
00FFF1F0 000000 fcw 0 |
00FFF1F2 000000 fcw 0 |
00FFF1F4 000000 fcw 0 |
00FFF1F6 000000 fcw 0 |
00FFF1F8 000000 fcw 0 |
00FFF1FA 000000 fcw 0 |
00FFF1FC 000000 fcw 0 |
00FFF1FE 000000 fcw 0 |
00FFF200 000000 fcw 0 |
00FFF202 000000 fcw 0 |
00FFF204 000000 fcw 0 |
00FFF206 000000 fcw 0 |
00FFF208 000000 fcw 0 |
00FFF20A FFF227 fcw ReleaseIOFocus |
00FFF20C 000000 fcw 0 |
00FFF20E FFF210 fcw RequestIOFocus |
|
NumOSFuncs EQU (*-OSCallTbl)/2 |
|
RequestIOFocus: |
00FFEF28 0150F6FFFFFFFE0 ldb COREID |
00FFEF2D 08EFFC000 ldx #IOFocusList |
00FFEF30 03A abx |
00FFEF31 0A7804 sta ,x |
00FFEF33 07DFFC010 tst IOFocusID |
00FFEF36 1260007D1 lbne oscx |
00FFEF39 0F7FFC010 stb IOFocusID |
00FFEF3C 0160007CB lbra oscx |
00FFF210 0150F6FFFFFFFE0 ldb COREID |
00FFF215 08EFFC000 ldx #IOFocusList |
00FFF218 03A abx |
00FFF219 0A7804 sta ,x |
00FFF21B 07DFFC010 tst IOFocusID |
00FFF21E 1260008DC lbne oscx |
00FFF221 0F7FFC010 stb IOFocusID |
00FFF224 0160008D6 lbra oscx |
|
ReleaseIOFocus: |
00FFEF3F 0150F6FFFFFFFE0 ldb COREID |
00FFEF44 08EFFC000 ldx #IOFocusList |
00FFEF47 03A abx |
00FFEF48 06F804 clr ,x ; clear the request indicator |
00FFEF4A 017FFF2BC lbsr CopyScreenToVirtualScreen |
00FFF227 0150F6FFFFFFFE0 ldb COREID |
00FFF22C 08EFFC000 ldx #IOFocusList |
00FFF22F 03A abx |
00FFF230 06F804 clr ,x ; clear the request indicator |
00FFF232 017FFEFD7 lbsr CopyScreenToVirtualScreen |
*** warning 1: Long branch within short branch range could be optimized |
00FFEF4D 0F1FFC010 cmpb IOFocusID ; are we the one with the focus? |
00FFEF50 1260007B7 lbne oscx |
00FFF235 0F1FFC010 cmpb IOFocusID ; are we the one with the focus? |
00FFF238 1260008C2 lbne oscx |
; We had the focus, so now a new core needs the focus. |
; Search the focus list for a requestor. If no requester |
; is found, give focus to core #1. |
00FFEF53 08600F lda #15 |
00FFF23B 08600F lda #15 |
riof2: |
00FFEF55 05C incb |
00FFEF56 0C400F andb #15 |
00FFEF58 03A abx |
00FFEF59 06D804 tst ,x |
00FFEF5B 026009 bne riof1 |
00FFEF5D 04A deca |
00FFEF5E 026FF5 bne riof2 |
00FFF23D 05C incb |
00FFF23E 0C400F andb #15 |
00FFF240 03A abx |
00FFF241 06D804 tst ,x |
00FFF243 026009 bne riof1 |
00FFF245 04A deca |
00FFF246 026FF5 bne riof2 |
; If no focus is requested by anyone, give to core #1 |
00FFEF60 0C6001 ldb #1 |
00FFEF62 086018 lda #24 |
00FFEF64 0A7804 sta ,x |
00FFF248 0C6001 ldb #1 |
00FFF24A 086018 lda #24 |
00FFF24C 0A7804 sta ,x |
riof1: |
00FFEF66 0F7FFC010 stb IOFocusID |
00FFEF69 017FFF266 lbsr CopyVirtualScreenToScreen |
00FFF24E 0F7FFC010 stb IOFocusID |
00FFF251 017FFEF81 lbsr CopyVirtualScreenToScreen |
*** warning 1: Long branch within short branch range could be optimized |
00FFEF6C 01600079B lbra oscx |
00FFF254 0160008A6 lbra oscx |
|
|
;============================================================================== |
3196,19 → 3760,19
;------------------------------------------------------------------------------ |
|
mon_srand: |
00FFEF6F 18E000000 ldy #0 |
00FFF257 18E000000 ldy #0 |
mon_srand1: |
00FFEF72 0151BFFFFE30604 sty PRNG+4 ; select channel |
00FFEF77 01507FFFFE30608 clr PRNG+8 |
00FFEF7C 01507FFFFE30609 clr PRNG+9 |
00FFEF81 0150FDFFFE3060A std PRNG+10 ; update low half of value |
00FFEF86 01507FFFFE3060C clr PRNG+12 |
00FFEF8B 01507FFFFE3060D clr PRNG+13 |
00FFEF90 0150BFFFFE3060E stx PRNG+14 ; update low half of value |
00FFEF95 031201 iny |
00FFEF97 18C000400 cmpy #$400 ; 1k channels |
00FFEF9A 025FD6 blo mon_srand1 |
00FFEF9C 039 rts |
00FFF25A 0151BFFFFE30604 sty PRNG+4 ; select channel |
00FFF25F 01507FFFFE30608 clr PRNG+8 |
00FFF264 01507FFFFE30609 clr PRNG+9 |
00FFF269 0150FDFFFE3060A std PRNG+10 ; update low half of value |
00FFF26E 01507FFFFE3060C clr PRNG+12 |
00FFF273 01507FFFFE3060D clr PRNG+13 |
00FFF278 0150BFFFFE3060E stx PRNG+14 ; update low half of value |
00FFF27D 031201 iny |
00FFF27F 18C000400 cmpy #$400 ; 1k channels |
00FFF282 025FD6 blo mon_srand1 |
00FFF284 039 rts |
|
;------------------------------------------------------------------------------ |
; Get a random number and generate the next one. |
3220,11 → 3784,11
;------------------------------------------------------------------------------ |
|
mon_rand: |
00FFEF9D 0150FDFFFE30604 std PRNG+4 ; select channel |
00FFEFA2 0150BEFFFE30600 ldx PRNG+0 |
00FFEFA7 0150FCFFFE30602 ldd PRNG+2 |
00FFEFAC 0150F7FFFE30603 stb PRNG+3 ; trigger calc of next number |
00FFEFB1 039 rts |
00FFF285 0150FDFFFE30604 std PRNG+4 ; select channel |
00FFF28A 0150BEFFFE30600 ldx PRNG+0 |
00FFF28F 0150FCFFFE30602 ldd PRNG+2 |
00FFF294 0150F7FFFE30603 stb PRNG+3 ; trigger calc of next number |
00FFF299 039 rts |
|
;============================================================================== |
; System Monitor |
3233,222 → 3797,253
; Command Tables |
|
cmdTable1: |
00FFEFB2 03C83E fcb '<','>'+$800 |
00FFEFB4 062873 fcb 'b','s'+$800 |
00FFEFB6 062863 fcb 'b','c'+$800 |
00FFEFB8 044852 fcb 'D','R'+$800 |
00FFEFBA 844 fcb 'D'+$800 |
00FFEFBB 83A fcb ':'+$800 |
00FFEFBC 046049847 fcb "FI",'G'+$800 |
00FFEFBF 04604984C fcb "FI",'L'+$800 |
00FFEFC2 04684C fcb 'F','L'+$800 |
00FFEFC4 84A fcb 'J'+$800 |
00FFEFC5 05204104D054045053854 fcb "RAMTES",'T'+$800 |
00FFEFCC 053050844 fcb "SP",'D'+$800 |
00FFEFCF 054049852 fcb "TI",'R'+$800 |
00FFEFD2 855 fcb 'U'+$800 |
00FFEFD3 065078069874 fcb "exi",'t'+$800 |
00FFEFD7 83F fcb '?'+$800 |
00FFEFD8 04304C853 fcb "CL",'S'+$800 |
00FFEFDB 053031839 fcb "S1",'9'+$800 |
00FFEFDE 04A044834 fcb "JD",'4'+$800 |
00FFEFE1 000000 fcw 0 |
00FFF29A 03C83E fcb '<','>'+$800 |
00FFF29C 04282B fcb 'B','+'+$800 |
00FFF29E 04282D fcb 'B','-'+$800 |
00FFF2A0 044852 fcb 'D','R'+$800 |
00FFF2A2 844 fcb 'D'+$800 |
00FFF2A3 83A fcb ':'+$800 |
00FFF2A4 046049847 fcb "FI",'G'+$800 |
00FFF2A7 04604984C fcb "FI",'L'+$800 |
00FFF2AA 04684C fcb 'F','L'+$800 |
00FFF2AC 84A fcb 'J'+$800 |
00FFF2AD 05204104D054045053854 fcb "RAMTES",'T'+$800 |
00FFF2B4 053050844 fcb "SP",'D'+$800 |
00FFF2B7 054049852 fcb "TI",'R'+$800 |
00FFF2BA 855 fcb 'U'+$800 |
00FFF2BB 065078069874 fcb "exi",'t'+$800 |
00FFF2BF 83F fcb '?'+$800 |
00FFF2C0 04304C853 fcb "CL",'S'+$800 |
00FFF2C3 053031839 fcb "S1",'9'+$800 |
00FFF2C6 04A044834 fcb "JD",'4'+$800 |
00FFF2C9 05804D852 fcb "XM",'R'+$800 |
00FFF2CC 05804D853 fcb "XM",'S'+$800 |
00FFF2CF 052841 fcb 'R','A'+$800 |
00FFF2D1 052842 fcb 'R','B'+$800 |
00FFF2D3 052044050852 fcb "RDP",'R'+$800 |
00FFF2D7 052844 fcb 'R','D'+$800 |
00FFF2D9 052858 fcb 'R','X'+$800 |
00FFF2DB 052859 fcb 'R','Y'+$800 |
00FFF2DD 052855 fcb 'R','U'+$800 |
00FFF2DF 052853 fcb 'R','S'+$800 |
00FFF2E1 052043043852 fcb "RCC",'R'+$800 |
00FFF2E5 052050843 fcb "RP",'C'+$800 |
00FFF2E8 04C842 fcb 'L','B'+$800 |
00FFF2EA 000000 fcw 0 |
|
cmdTable2: |
00FFEFE3 FFF0F8 fcw Redirect |
00FFEFE5 FFF13A fcw MonArmBreakpoint |
00FFEFE7 FFF145 fcw MonDisarmBreakpoint |
00FFEFE9 FFF54A fcw DumpRegs |
00FFEFEB FFF484 fcw DumpMemory |
00FFEFED FFF4E0 fcw EditMemory |
00FFEFEF FE0000 fcw $FE0000 ; FIG forth |
00FFEFF1 FFF520 fcw FillMemory |
00FFEFF3 FFF60B fcw DumpIOFocusList |
00FFEFF5 FFF595 fcw jump_to_code |
00FFEFF7 FFD400 fcw $FFD400 |
00FFEFF9 FF8000 fcw $FF8000 ; sprite demo |
00FFEFFB FFE4F4 fcw rtc_read |
00FFEFFD FF8003 fcw $FF8003 ; unassembler |
00FFEFFF FFF6F3 fcw xitMonitor |
00FFF001 FFF11E fcw PromptHelp |
00FFF003 FFF126 fcw PromptClearscreen |
00FFF005 FFEE37 fcw S19Loader |
00FFF007 FFD400 fcw $FFD400 |
00FFF2EC FFF427 fcw Redirect |
00FFF2EE FFF469 fcw MonArmBreakpoint |
00FFF2F0 FFF474 fcw MonDisarmBreakpoint |
00FFF2F2 FFF899 fcw DumpRegs |
00FFF2F4 FFF7D0 fcw DumpMemory |
00FFF2F6 FFF82C fcw EditMemory |
00FFF2F8 FE0000 fcw $FE0000 ; FIG forth |
00FFF2FA FFF86F fcw FillMemory |
00FFF2FC FFF9F5 fcw DumpIOFocusList |
00FFF2FE FFF980 fcw jump_to_code |
00FFF300 FFD400 fcw $FFD400 |
00FFF302 FF8000 fcw $FF8000 ; sprite demo |
00FFF304 FFE524 fcw rtc_read |
00FFF306 FF8003 fcw $FF8003 ; unassembler |
00FFF308 FFFAE6 fcw xitMonitor |
00FFF30A FFF44D fcw PromptHelp |
00FFF30C FFF455 fcw PromptClearscreen |
00FFF30E FFEE8F fcw S19Loader |
00FFF310 FFD400 fcw $FFD400 |
00FFF312 FFEFBA fcw xm_ReceiveStart |
00FFF314 FFEF2C fcw xm_SendStart |
00FFF316 FFF8E4 fcw SetRegA |
00FFF318 FFF8F3 fcw SetRegB |
00FFF31A FFF94D fcw SetRegDPR |
00FFF31C FFF902 fcw SetRegD |
00FFF31E FFF911 fcw SetRegX |
00FFF320 FFF920 fcw SetRegY |
00FFF322 FFF92F fcw SetRegU |
00FFF324 FFF93E fcw SetRegS |
00FFF326 FFF95C fcw SetRegCCR |
00FFF328 FFF96B fcw SetRegPC |
00FFF32A FFFBD2 fcw ListBreakpoints |
|
CmdPrompt: |
00FFF009 017FFE0C6 lbsr CRLF |
00FFF32C 017FFDDA3 lbsr CRLF |
*** warning 1: Long branch within short branch range could be optimized |
00FFF00C 0C6024 ldb #'$' |
00FFF00E 017FFFED0 lbsr OUTCH |
00FFF32F 0C6024 ldb #'$' |
00FFF331 017FFFE95 lbsr OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF011 016FFFECD lbra OUTCH |
00FFF334 016FFFE92 lbra OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
|
msgF09Starting: |
00FFF014 04606506D07406906B069 fcb "Femtiki F09 Multi-core OS Starting",CR,LF,0 |
00FFF01B 02004603003902004D075 |
00FFF022 06C07406902D06306F072 |
00FFF029 06502004F053020053074 |
00FFF030 06107207406906E06700D |
00FFF037 00A000 |
00FFF337 04606506D07406906B069 fcb "Femtiki F09 Multi-core OS Starting",CR,LF,0 |
00FFF33E 02004603003902004D075 |
00FFF345 06C07406902D06306F072 |
00FFF34C 06502004F053020053074 |
00FFF353 06107207406906E06700D |
00FFF35A 00A000 |
|
Monitor: |
00FFF039 0FC00092C ldd mon_init ; check special code to see if monitor has been initialized |
00FFF03C 18312D687 cmpd #1234567 |
00FFF03F 02704D beq mon1 |
00FFF041 07F000810 clr BreakpointFlag |
00FFF044 07F000811 clr NumSetBreakpoints |
00FFF047 0CC00007B ldd #123 |
00FFF04A 08E00028E ldx #654 |
00FFF04D 017FFFF1F lbsr mon_srand |
00FFF35C 01C0EF andcc #$EF ; SWI disables interrupts, re-enable them |
00FFF35E 08601F lda #31 ; Timer is IRQ #31 |
00FFF360 0150B7FFFE3F010 sta PIC+16 ; register 16 is edge sense reset reg |
00FFF365 0FC00092C ldd mon_init ; check special code to see if monitor has been initialized |
00FFF368 18312D687 cmpd #1234567 |
00FFF36B 02704D beq mon1 |
00FFF36D 07F000810 clr BreakpointFlag |
00FFF370 07F000811 clr NumSetBreakpoints |
00FFF373 0CC00007B ldd #123 |
00FFF376 08E00028E ldx #654 |
00FFF379 017FFFEDB lbsr mon_srand |
*** warning 1: Long branch within short branch range could be optimized |
00FFF050 0CCFFF014 ldd #msgF09Starting |
00FFF053 017FFF384 lbsr DisplayString |
00FFF37C 0CCFFF337 ldd #msgF09Starting |
00FFF37F 017FFF05B lbsr DisplayString |
*** warning 1: Long branch within short branch range could be optimized |
00FFF056 0CCFFF2CF ldd #HelpMsg |
00FFF059 017FFF37E lbsr DisplayString |
00FFF382 0CCFFF5FE ldd #HelpMsg |
00FFF385 017FFF055 lbsr DisplayString |
*** warning 1: Long branch within short branch range could be optimized |
00FFF05C 0CCFFF009 ldd #CmdPrompt |
00FFF05F 0FD000808 std CmdPromptJI |
00FFF062 0CCFFF2B6 ldd #DisplayErr |
00FFF065 0FD00080C std MonErrVec |
00FFF068 0CC0063FF ldd #$63FF ; default app stack |
00FFF06B 0FD000908 std mon_SSAVE |
00FFF06E 07F00090E clr mon_DPRSAVE ; |
00FFF071 01F0A8 tfr ccr,a |
00FFF073 0B700090F sta mon_CCRSAVE |
00FFF076 07F00090A clr mon_PCSAVE |
00FFF079 0CCFFF039 ldd #Monitor |
00FFF07C 0FD00090B std mon_PCSAVE+1 |
00FFF07F 07F000902 clr mon_XSAVE |
00FFF082 07F000904 clr mon_YSAVE |
00FFF085 07F000906 clr mon_USAVE |
00FFF088 0CC12D687 ldd #1234567 |
00FFF08B 0FD00092C std mon_init |
00FFF388 0CCFFF32C ldd #CmdPrompt |
00FFF38B 0FD000808 std CmdPromptJI |
00FFF38E 0CCFFF5E5 ldd #DisplayErr |
00FFF391 0FD00080C std MonErrVec |
00FFF394 0CC0063FF ldd #$63FF ; default app stack |
00FFF397 0FD000908 std mon_SSAVE |
00FFF39A 07F00090E clr mon_DPRSAVE ; |
00FFF39D 01F0A8 tfr ccr,a |
00FFF39F 0B700090F sta mon_CCRSAVE |
00FFF3A2 07F00090A clr mon_PCSAVE |
00FFF3A5 0CCFFF35C ldd #Monitor |
00FFF3A8 0FD00090B std mon_PCSAVE+1 |
00FFF3AB 07F000902 clr mon_XSAVE |
00FFF3AE 07F000904 clr mon_YSAVE |
00FFF3B1 07F000906 clr mon_USAVE |
00FFF3B4 0CC12D687 ldd #1234567 |
00FFF3B7 0FD00092C std mon_init |
mon1: |
00FFF08E 03280F006FFF leas $6FFF ; reset stack pointer |
00FFF092 05F clrb ; turn off keyboard echo |
00FFF093 017FFFE4F lbsr SetKeyboardEcho |
00FFF3BA 03280F006FFF leas $6FFF ; reset stack pointer |
00FFF3BE 05F clrb ; turn off keyboard echo |
00FFF3BF 017FFFE0B lbsr SetKeyboardEcho |
*** warning 1: Long branch within short branch range could be optimized |
; Reset IO vectors |
00FFF096 0CCFFEC64 ldd #SerialPeekCharDirect |
00FFF099 0FD000804 std CharInVec |
00FFF09C 0CCFFE319 ldd #DisplayChar |
00FFF09F 0FD000800 std CharOutVec |
00FFF0A2 0CCFFF009 ldd #CmdPrompt |
00FFF0A5 0FD000808 std CmdPromptJI |
00FFF3C2 0CCFFEC73 ldd #SerialPeekCharDirect |
00FFF3C5 0FD000804 std CharInVec |
00FFF3C8 0CCFFE31C ldd #DisplayChar |
00FFF3CB 0FD000800 std CharOutVec |
00FFF3CE 0CCFFF32C ldd #CmdPrompt |
00FFF3D1 0FD000808 std CmdPromptJI |
; jsr RequestIOFocus |
PromptLn: |
00FFF0A8 0AD90F000808 jsr [CmdPromptJI] |
00FFF3D4 0AD90F000808 jsr [CmdPromptJI] |
|
; Get characters until a CR is keyed |
|
Prompt3: |
00FFF0AC 0CCFFFFFF ldd #-1 ; block until key present |
00FFF0AF 017FFFDF7 lbsr INCH |
00FFF3D8 0CCFFFFFF ldd #-1 ; block until key present |
00FFF3DB 017FFFDB3 lbsr INCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF0B2 0C100D cmpb #CR ; carriage return? |
00FFF0B4 027005 beq Prompt1 |
00FFF0B6 017FFFE28 lbsr OUTCH ; spit out the character |
00FFF3DE 04D tsta ; should not get this with blocking |
00FFF3DF 02BFF7 bmi Prompt3 |
00FFF3E1 0C100D cmpb #CR ; carriage return? |
00FFF3E3 027005 beq Prompt1 |
00FFF3E5 017FFFDE1 lbsr OUTCH ; spit out the character |
*** warning 1: Long branch within short branch range could be optimized |
00FFF0B9 020FF1 bra Prompt3 ; and keep going |
00FFF3E8 020FEE bra Prompt3 ; and keep going |
|
; Process the screen line that the CR was keyed on |
; |
Prompt1: |
00FFF0BB 0CC005050 ldd #$5050 |
00FFF0BE 0150FDFFFE60001 std LEDS |
00FFF3EA 0CC005050 ldd #$5050 |
00FFF3ED 0150FDFFFE60001 std LEDS |
; ldb RunningID |
; cmpb #61 |
; bhi Prompt3 |
00FFF0C3 00F111 clr CursorCol ; go back to the start of the line |
00FFF0C5 017FFF22A lbsr CalcScreenLoc ; calc screen memory location |
00FFF3F2 00F111 clr CursorCol ; go back to the start of the line |
00FFF3F4 017FFEEFE lbsr CalcScreenLoc ; calc screen memory location |
*** warning 1: Long branch within short branch range could be optimized |
00FFF0C8 01F002 tfr d,y |
00FFF3F7 01F002 tfr d,y |
skipDollar: |
00FFF0CA 08D067 bsr MonGetNonSpace |
00FFF0CC 0C1024 cmpb #'$' |
00FFF0CE 027FFA beq skipDollar ; skip over '$' prompt character |
00FFF3F9 08D067 bsr MonGetNonSpace |
00FFF3FB 0C1024 cmpb #'$' |
00FFF3FD 027FFA beq skipDollar ; skip over '$' prompt character |
|
; Dispatch based on command |
; |
00FFF0D0 0313FF dey |
00FFF0D2 01F023 tfr y,u ; save off input position |
00FFF0D4 05F clrb |
00FFF0D5 08EFFEFB2 ldx #cmdTable1 |
00FFF3FF 0313FF dey |
00FFF401 01F023 tfr y,u ; save off input position |
00FFF403 05F clrb |
00FFF404 08EFFF29A ldx #cmdTable1 |
parseCmd1: |
00FFF0D8 0A6A00 lda ,y+ ; get input character |
00FFF0DA 06D804 tst ,x ; test for end of command |
00FFF0DC 02B00F bmi endOfWord ; |
00FFF0DE 0A1800 cmpa ,x+ ; does input match command? |
00FFF0E0 027FF6 beq parseCmd1 |
00FFF407 0A6A00 lda ,y+ ; get input character |
00FFF409 06D804 tst ,x ; test for end of command |
00FFF40B 02B00F bmi endOfWord ; |
00FFF40D 0A1800 cmpa ,x+ ; does input match command? |
00FFF40F 027FF6 beq parseCmd1 |
scanNextWord: |
00FFF0E2 06D800 tst ,x+ |
00FFF0E4 027F53 beq Monitor ; if end of table reached, not a command |
00FFF0E6 02AFFA bpl scanNextWord |
00FFF0E8 05C incb |
00FFF0E9 01F032 tfr u,y ; reset input pointer |
00FFF0EB 020FEB bra parseCmd1 ; try again |
00FFF411 06D800 tst ,x+ |
00FFF413 027F47 beq Monitor ; if end of table reached, not a command |
00FFF415 02AFFA bpl scanNextWord |
00FFF417 05C incb |
00FFF418 01F032 tfr u,y ; reset input pointer |
00FFF41A 020FEB bra parseCmd1 ; try again |
endOfWord: |
00FFF0ED 0A8804 eora ,x |
00FFF0EF 048 asla |
00FFF0F0 026FF0 bne scanNextWord |
00FFF41C 0A8804 eora ,x |
00FFF41E 048 asla |
00FFF41F 026FF0 bne scanNextWord |
; we found the command in the table |
00FFF0F2 058 aslb ; b = word index |
00FFF0F3 08EFFEFE3 ldx #cmdTable2 |
00FFF0F6 06E905 jmp [b,x] ; execute command |
00FFF421 058 aslb ; b = word index |
00FFF422 08EFFF2EC ldx #cmdTable2 |
00FFF425 06E905 jmp [b,x] ; execute command |
|
Redirect: |
00FFF0F8 08D034 bsr MonGetch |
00FFF0FA 0C1073 cmpb #'s' |
00FFF0FC 02600E bne Prompt2a |
00FFF0FE 0CCFFEC64 ldd #SerialPeekCharDirect |
00FFF101 0FD000804 std CharInVec |
00FFF104 0CCFFEC88 ldd #SerialPutChar |
00FFF107 0FD000800 std CharOutVec |
00FFF10A 020F2D bra Monitor |
00FFF427 08D034 bsr MonGetch |
00FFF429 0C1073 cmpb #'s' |
00FFF42B 02600E bne Prompt2a |
00FFF42D 0CCFFEC73 ldd #SerialPeekCharDirect |
00FFF430 0FD000804 std CharInVec |
00FFF433 0CCFFEC9A ldd #SerialPutChar |
00FFF436 0FD000800 std CharOutVec |
00FFF439 020F21 bra Monitor |
Prompt2a: |
00FFF10C 0C1063 cmpb #'c' |
00FFF10E 026F29 bne Monitor |
00FFF110 0CCFFEA92 ldd #GetKey |
00FFF113 0FD000804 std CharInVec |
00FFF116 0CCFFE319 ldd #DisplayChar |
00FFF119 0FD000800 std CharOutVec |
00FFF11C 020F1B bra Monitor |
00FFF43B 0C1063 cmpb #'c' |
00FFF43D 026F1D bne Monitor |
00FFF43F 0CCFFEA92 ldd #GetKey |
00FFF442 0FD000804 std CharInVec |
00FFF445 0CCFFE31C ldd #DisplayChar |
00FFF448 0FD000800 std CharOutVec |
00FFF44B 020F0F bra Monitor |
|
PromptHelp: |
00FFF11E 0CCFFF2CF ldd #HelpMsg |
00FFF121 017FFF2B6 lbsr DisplayString |
00FFF44D 0CCFFF5FE ldd #HelpMsg |
00FFF450 017FFEF8A lbsr DisplayString |
*** warning 1: Long branch within short branch range could be optimized |
00FFF124 020F13 bra Monitor |
00FFF453 020F07 bra Monitor |
|
PromptClearscreen: |
00FFF126 017FFF110 lbsr ClearScreen |
00FFF455 017FFEDE4 lbsr ClearScreen |
*** warning 1: Long branch within short branch range could be optimized |
00FFF129 017FFF184 lbsr HomeCursor |
00FFF458 017FFEE58 lbsr HomeCursor |
*** warning 1: Long branch within short branch range could be optimized |
00FFF12C 020F0B bra Monitor |
00FFF45B 020EFF bra Monitor |
|
MonGetch: |
00FFF12E 0E6A04 ldb ,y |
00FFF130 031201 iny |
00FFF132 039 rts |
00FFF45D 0E6A04 ldb ,y |
00FFF45F 031201 iny |
00FFF461 039 rts |
|
MonGetNonSpace: |
00FFF133 08DFF9 bsr MonGetCh |
00FFF135 0C1020 cmpb #' ' |
00FFF137 027FFA beq MonGetNonSpace |
00FFF139 039 rts |
00FFF462 08DFF9 bsr MonGetCh |
00FFF464 0C1020 cmpb #' ' |
00FFF466 027FFA beq MonGetNonSpace |
00FFF468 039 rts |
|
MonArmBreakpoint: |
00FFF13A 017000611 lbsr ArmBreakpoint |
00FFF13D 0C6FFF ldb #$FFF |
00FFF13F 0F7000810 stb BreakpointFlag |
00FFF142 016FFFEF4 lbra Monitor |
00FFF469 0170006D5 lbsr ArmBreakpoint |
00FFF46C 0C6FFF ldb #$FFF |
00FFF46E 0F7000810 stb BreakpointFlag |
00FFF471 016FFFEE8 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
MonDisarmBreakpoint: |
00FFF145 017000632 lbsr DisarmBreakpoint |
00FFF148 016FFFEEE lbra Monitor |
00FFF474 017000700 lbsr DisarmBreakpoint |
00FFF477 016FFFEE2 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
3459,74 → 4054,74
; |
ignBlanks: |
ignBlanks1: |
00FFF14B 08DFE1 bsr MonGetch |
00FFF14D 0C1020 cmpb #' ' |
00FFF14F 027FFA beq ignBlanks1 |
00FFF151 0313FF dey |
00FFF153 039 rts |
00FFF47A 08DFE1 bsr MonGetch |
00FFF47C 0C1020 cmpb #' ' |
00FFF47E 027FFA beq ignBlanks1 |
00FFF480 0313FF dey |
00FFF482 039 rts |
|
;------------------------------------------------------------------------------ |
; Multiply number in work area by 10. |
;------------------------------------------------------------------------------ |
Times10: |
00FFF154 034006 pshs d |
00FFF156 0FC000910 ldd mon_numwka ; make a copy of the number |
00FFF159 0FD000918 std mon_numwka+8 |
00FFF15C 0FC000912 ldd mon_numwka+2 |
00FFF15F 0FD00091A std mon_numwka+10 |
00FFF162 08D05B bsr shl_numwka ; shift left = *2 |
00FFF164 08D059 bsr shl_numwka ; shift left = *4 |
00FFF166 0FC000912 ldd mon_numwka+2 ; add in original value |
00FFF169 0F300091A addd mon_numwka+10 ; = *5 |
00FFF16C 0F6000911 ldb mon_numwka+1 |
00FFF16F 0F9000919 adcb mon_numwka+9 |
00FFF172 0F7000911 stb mon_numwka+1 |
00FFF175 0B6000910 lda mon_numwka+0 |
00FFF178 0B9000918 adca mon_numwka+8 |
00FFF17B 0B7000910 sta mon_numwka+0 |
00FFF17E 08D03F bsr shl_numwka ; shift left = * 10 |
00FFF180 035086 puls d,pc |
00FFF483 034006 pshs d |
00FFF485 0FC000910 ldd mon_numwka ; make a copy of the number |
00FFF488 0FD000918 std mon_numwka+8 |
00FFF48B 0FC000912 ldd mon_numwka+2 |
00FFF48E 0FD00091A std mon_numwka+10 |
00FFF491 08D05B bsr shl_numwka ; shift left = *2 |
00FFF493 08D059 bsr shl_numwka ; shift left = *4 |
00FFF495 0FC000912 ldd mon_numwka+2 ; add in original value |
00FFF498 0F300091A addd mon_numwka+10 ; = *5 |
00FFF49B 0F6000911 ldb mon_numwka+1 |
00FFF49E 0F9000919 adcb mon_numwka+9 |
00FFF4A1 0F7000911 stb mon_numwka+1 |
00FFF4A4 0B6000910 lda mon_numwka+0 |
00FFF4A7 0B9000918 adca mon_numwka+8 |
00FFF4AA 0B7000910 sta mon_numwka+0 |
00FFF4AD 08D03F bsr shl_numwka ; shift left = * 10 |
00FFF4AF 035086 puls d,pc |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
GetTwoParams: |
00FFF182 08DFC7 bsr ignBlanks |
00FFF184 08D0DC bsr GetNumber ; get start address of dump |
00FFF186 0FC000910 ldd mon_numwka |
00FFF189 0FD000920 std mon_r1 |
00FFF18C 0FC000912 ldd mon_numwka+2 |
00FFF18F 0FD000922 std mon_r1+2 |
00FFF192 08DFB7 bsr ignBlanks |
00FFF194 08D0CC bsr GetNumber ; get end address of dump |
00FFF196 0FC000910 ldd mon_numwka |
00FFF199 0FD000924 std mon_r2 |
00FFF19C 0FC000912 ldd mon_numwka+2 |
00FFF19F 0FD000926 std mon_r2+2 |
00FFF1A2 039 rts |
00FFF4B1 08DFC7 bsr ignBlanks |
00FFF4B3 08D0DC bsr GetNumber ; get start address of dump |
00FFF4B5 0FC000910 ldd mon_numwka |
00FFF4B8 0FD000920 std mon_r1 |
00FFF4BB 0FC000912 ldd mon_numwka+2 |
00FFF4BE 0FD000922 std mon_r1+2 |
00FFF4C1 08DFB7 bsr ignBlanks |
00FFF4C3 08D0CC bsr GetNumber ; get end address of dump |
00FFF4C5 0FC000910 ldd mon_numwka |
00FFF4C8 0FD000924 std mon_r2 |
00FFF4CB 0FC000912 ldd mon_numwka+2 |
00FFF4CE 0FD000926 std mon_r2+2 |
00FFF4D1 039 rts |
|
;------------------------------------------------------------------------------ |
; Get a range, the end must be greater or equal to the start. |
;------------------------------------------------------------------------------ |
GetRange: |
00FFF1A3 08DFDD bsr GetTwoParams |
00FFF1A5 0FC000926 ldd mon_r2+2 |
00FFF1A8 0B3000922 subd mon_r1+2 |
00FFF1AB 0FC000924 ldd mon_r2 |
00FFF1AE 0F2000921 sbcb mon_r1+1 |
00FFF1B1 0B2000920 sbca mon_r1 |
00FFF1B4 124000007 lbcc grng1 |
00FFF1B7 0AD90F00080C jsr [MonErrVec] |
00FFF1BB 016FFFE7B lbra Monitor |
00FFF4D2 08DFDD bsr GetTwoParams |
00FFF4D4 0FC000926 ldd mon_r2+2 |
00FFF4D7 0B3000922 subd mon_r1+2 |
00FFF4DA 0FC000924 ldd mon_r2 |
00FFF4DD 0F2000921 sbcb mon_r1+1 |
00FFF4E0 0B2000920 sbca mon_r1 |
00FFF4E3 124000007 lbcc grng1 |
00FFF4E6 0AD90F00080C jsr [MonErrVec] |
00FFF4EA 016FFFE6F lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
grng1: |
00FFF1BE 039 rts |
00FFF4ED 039 rts |
|
shl_numwka: |
00FFF1BF 078000913 asl mon_numwka+3 |
00FFF1C2 079000912 rol mon_numwka+2 |
00FFF1C5 079000911 rol mon_numwka+1 |
00FFF1C8 079000910 rol mon_numwka |
00FFF1CB 039 rts |
00FFF4EE 078000913 asl mon_numwka+3 |
00FFF4F1 079000912 rol mon_numwka+2 |
00FFF4F4 079000911 rol mon_numwka+1 |
00FFF4F7 079000910 rol mon_numwka |
00FFF4FA 039 rts |
|
;------------------------------------------------------------------------------ |
; Get a hexidecimal number. Maximum of twelve digits. |
3538,89 → 4133,89
;------------------------------------------------------------------------------ |
; |
GetHexNumber: |
00FFF1CC 04F05F clrd |
00FFF1CE 0FD000910 std mon_numwka ; zero out work area |
00FFF1D1 0FD000912 std mon_numwka+2 |
00FFF1D4 034010 pshs x |
00FFF1D6 08E000000 ldx #0 ; max 12 eight digits |
00FFF4FB 04F05F clrd |
00FFF4FD 0FD000910 std mon_numwka ; zero out work area |
00FFF500 0FD000912 std mon_numwka+2 |
00FFF503 034010 pshs x |
00FFF505 08E000000 ldx #0 ; max 12 eight digits |
gthxn2: |
00FFF1D9 08DF53 bsr MonGetch |
00FFF1DB 08D093 bsr AsciiToHexNybble |
00FFF1DD 0C1FFF cmpb #-1 |
00FFF1DF 027017 beq gthxn1 |
00FFF1E1 08DFDC bsr shl_numwka |
00FFF1E3 08DFDA bsr shl_numwka |
00FFF1E5 08DFD8 bsr shl_numwka |
00FFF1E7 08DFD6 bsr shl_numwka |
00FFF1E9 0C400F andb #$0f |
00FFF1EB 0FA000913 orb mon_numwka+3 |
00FFF1EE 0F7000913 stb mon_numwka+3 |
00FFF1F1 030001 inx |
00FFF1F3 08C00000C cmpx #12 |
00FFF1F6 025FE1 blo gthxn2 |
00FFF508 08DF53 bsr MonGetch |
00FFF50A 08D093 bsr AsciiToHexNybble |
00FFF50C 0C1FFF cmpb #-1 |
00FFF50E 027017 beq gthxn1 |
00FFF510 08DFDC bsr shl_numwka |
00FFF512 08DFDA bsr shl_numwka |
00FFF514 08DFD8 bsr shl_numwka |
00FFF516 08DFD6 bsr shl_numwka |
00FFF518 0C400F andb #$0f |
00FFF51A 0FA000913 orb mon_numwka+3 |
00FFF51D 0F7000913 stb mon_numwka+3 |
00FFF520 030001 inx |
00FFF522 08C00000C cmpx #12 |
00FFF525 025FE1 blo gthxn2 |
gthxn1: |
00FFF1F8 01F010 tfr x,d |
00FFF1FA 035090 puls x,pc |
00FFF527 01F010 tfr x,d |
00FFF529 035090 puls x,pc |
|
GetBinNumber: |
00FFF1FC 04F05F clrd |
00FFF1FE 0FD000910 std mon_numwka |
00FFF201 0FD000912 std mon_numwka+2 |
00FFF204 034010 pshs x |
00FFF206 08E000000 ldx #0 |
00FFF52B 04F05F clrd |
00FFF52D 0FD000910 std mon_numwka |
00FFF530 0FD000912 std mon_numwka+2 |
00FFF533 034010 pshs x |
00FFF535 08E000000 ldx #0 |
gtbin2: |
00FFF209 08DF23 bsr MonGetch |
00FFF20B 08D099 bsr AsciiToBinDigit |
00FFF20D 05D tstb |
00FFF20E 02B00F bmi gtbin1 |
00FFF210 08DFAD bsr shl_numwka |
00FFF212 0FA000913 orb mon_numwka+3 |
00FFF215 0F7000913 stb mon_numwka+3 |
00FFF218 030001 inx |
00FFF21A 08C000030 cpx #48 |
00FFF21D 025FEA blo gtbin2 |
00FFF538 08DF23 bsr MonGetch |
00FFF53A 08D099 bsr AsciiToBinDigit |
00FFF53C 05D tstb |
00FFF53D 02B00F bmi gtbin1 |
00FFF53F 08DFAD bsr shl_numwka |
00FFF541 0FA000913 orb mon_numwka+3 |
00FFF544 0F7000913 stb mon_numwka+3 |
00FFF547 030001 inx |
00FFF549 08C000030 cpx #48 |
00FFF54C 025FEA blo gtbin2 |
gtbin1: |
00FFF21F 01F010 tfr x,d |
00FFF221 035090 puls x,pc |
00FFF54E 01F010 tfr x,d |
00FFF550 035090 puls x,pc |
|
GetDecNumber: |
00FFF223 04F05F clrd |
00FFF225 0FD000910 std mon_numwka |
00FFF228 0FD000912 std mon_numwka+2 |
00FFF22B 034010 pshs x |
00FFF22D 08E000000 ldx #0 |
00FFF552 04F05F clrd |
00FFF554 0FD000910 std mon_numwka |
00FFF557 0FD000912 std mon_numwka+2 |
00FFF55A 034010 pshs x |
00FFF55C 08E000000 ldx #0 |
gtdec2: |
00FFF230 08DEFC bsr MonGetch |
00FFF232 08D064 bsr AsciiToDecDigit |
00FFF234 05D tstb |
00FFF235 02B027 bmi gtdec1 |
00FFF237 08DF1B bsr Times10 |
00FFF239 0FB000913 addb mon_numwka+3 |
00FFF23C 0F7000913 stb mon_numwka+3 |
00FFF23F 0F6000912 ldb mon_numwka+2 |
00FFF242 0C9000 adcb #0 |
00FFF244 0F7000912 stb mon_numwka+2 |
00FFF247 0F6000911 ldb mon_numwka+1 |
00FFF24A 0C9000 adcb #0 |
00FFF24C 0F7000911 stb mon_numwka+1 |
00FFF24F 0F6000910 ldb mon_numwka+0 |
00FFF252 0C9000 adcb #0 |
00FFF254 0F7000910 stb mon_numwka+0 |
00FFF257 030001 inx |
00FFF259 08C00000F cpx #15 |
00FFF25C 025FD2 blo gtdec2 |
00FFF55F 08DEFC bsr MonGetch |
00FFF561 08D064 bsr AsciiToDecDigit |
00FFF563 05D tstb |
00FFF564 02B027 bmi gtdec1 |
00FFF566 08DF1B bsr Times10 |
00FFF568 0FB000913 addb mon_numwka+3 |
00FFF56B 0F7000913 stb mon_numwka+3 |
00FFF56E 0F6000912 ldb mon_numwka+2 |
00FFF571 0C9000 adcb #0 |
00FFF573 0F7000912 stb mon_numwka+2 |
00FFF576 0F6000911 ldb mon_numwka+1 |
00FFF579 0C9000 adcb #0 |
00FFF57B 0F7000911 stb mon_numwka+1 |
00FFF57E 0F6000910 ldb mon_numwka+0 |
00FFF581 0C9000 adcb #0 |
00FFF583 0F7000910 stb mon_numwka+0 |
00FFF586 030001 inx |
00FFF588 08C00000F cpx #15 |
00FFF58B 025FD2 blo gtdec2 |
gtdec1: |
00FFF25E 01F010 tfr x,d |
00FFF260 035090 puls x,pc |
00FFF58D 01F010 tfr x,d |
00FFF58F 035090 puls x,pc |
|
GetNumber: |
00FFF262 08DECA bsr MonGetch |
00FFF264 0C102B cmpb #'+' |
00FFF266 027FBB beq GetDecNumber |
00FFF268 0C1025 cmpb #'%' |
00FFF26A 027F90 beq GetBinNumber |
00FFF26C 0313FF dey |
00FFF26E 020F5C bra GetHexNumber |
00FFF591 08DECA bsr MonGetch |
00FFF593 0C102B cmpb #'+' |
00FFF595 027FBB beq GetDecNumber |
00FFF597 0C1025 cmpb #'%' |
00FFF599 027F90 beq GetBinNumber |
00FFF59B 0313FF dey |
00FFF59D 020F5C bra GetHexNumber |
|
; phx |
; push r4 |
3650,169 → 4245,173
;------------------------------------------------------------------------------ |
; |
AsciiToHexNybble: |
00FFF270 0C1030 cmpb #'0' |
00FFF272 025021 blo gthx3 |
00FFF274 0C1039 cmpb #'9' |
00FFF276 022003 bhi gthx5 |
00FFF278 0C0030 subb #'0' |
00FFF27A 039 rts |
00FFF59F 0C1030 cmpb #'0' |
00FFF5A1 025021 blo gthx3 |
00FFF5A3 0C1039 cmpb #'9' |
00FFF5A5 022003 bhi gthx5 |
00FFF5A7 0C0030 subb #'0' |
00FFF5A9 039 rts |
gthx5: |
00FFF27B 0C1041 cmpb #'A' |
00FFF27D 025016 blo gthx3 |
00FFF27F 0C1046 cmpb #'F' |
00FFF281 022005 bhi gthx6 |
00FFF283 0C0041 subb #'A' |
00FFF285 0CB00A addb #10 |
00FFF287 039 rts |
00FFF5AA 0C1041 cmpb #'A' |
00FFF5AC 025016 blo gthx3 |
00FFF5AE 0C1046 cmpb #'F' |
00FFF5B0 022005 bhi gthx6 |
00FFF5B2 0C0041 subb #'A' |
00FFF5B4 0CB00A addb #10 |
00FFF5B6 039 rts |
gthx6: |
00FFF288 0C1061 cmpb #'a' |
00FFF28A 025009 blo gthx3 |
00FFF28C 0C107A cmpb #'z' |
00FFF28E 022005 bhi gthx3 |
00FFF290 0C0061 subb #'a' |
00FFF292 0CB00A addb #10 |
00FFF294 039 rts |
00FFF5B7 0C1061 cmpb #'a' |
00FFF5B9 025009 blo gthx3 |
00FFF5BB 0C107A cmpb #'z' |
00FFF5BD 022005 bhi gthx3 |
00FFF5BF 0C0061 subb #'a' |
00FFF5C1 0CB00A addb #10 |
00FFF5C3 039 rts |
gthx3: |
00FFF295 0C6FFF ldb #-1 ; not a hex number |
00FFF297 039 rts |
00FFF5C4 0C6FFF ldb #-1 ; not a hex number |
00FFF5C6 039 rts |
|
AsciiToDecDigit: |
00FFF298 0C1030 cmpb #'0' |
00FFF29A 025007 blo gtdc3 |
00FFF29C 0C1039 cmpb #'9' |
00FFF29E 022003 bhi gtdc3 |
00FFF2A0 0C0030 subb #'0' |
00FFF2A2 039 rts |
00FFF5C7 0C1030 cmpb #'0' |
00FFF5C9 025007 blo gtdc3 |
00FFF5CB 0C1039 cmpb #'9' |
00FFF5CD 022003 bhi gtdc3 |
00FFF5CF 0C0030 subb #'0' |
00FFF5D1 039 rts |
gtdc3: |
00FFF2A3 0C6FFF ldb #-1 |
00FFF2A5 039 rts |
00FFF5D2 0C6FFF ldb #-1 |
00FFF5D4 039 rts |
|
AsciiToBinDigit: |
00FFF2A6 0C1030 cmpb #'0' |
00FFF2A8 026002 bne abd1 |
00FFF2AA 05F clrb |
00FFF2AB 039 rts |
00FFF5D5 0C1030 cmpb #'0' |
00FFF5D7 026002 bne abd1 |
00FFF5D9 05F clrb |
00FFF5DA 039 rts |
abd1: |
00FFF2AC 0C1031 cmpb #'1' |
00FFF2AE 026003 bne abd2 |
00FFF2B0 0C6001 ldb #1 |
00FFF2B2 039 rts |
00FFF5DB 0C1031 cmpb #'1' |
00FFF5DD 026003 bne abd2 |
00FFF5DF 0C6001 ldb #1 |
00FFF5E1 039 rts |
abd2: |
00FFF2B3 0C6FFF ldb #-1 |
00FFF2B5 039 rts |
00FFF5E2 0C6FFF ldb #-1 |
00FFF5E4 039 rts |
|
DisplayErr: |
00FFF2B6 0CCFFF2C7 ldd #msgErr |
00FFF2B9 017FFF11E lbsr DisplayString |
00FFF5E5 0CCFFF5F6 ldd #msgErr |
00FFF5E8 017FFEDF2 lbsr DisplayString |
*** warning 1: Long branch within short branch range could be optimized |
00FFF2BC 07EFFF039 jmp Monitor |
00FFF5EB 07EFFF35C jmp Monitor |
|
DisplayStringDX |
00FFF2BF 0DD024 std Strptr |
00FFF2C1 09F026 stx Strptr+2 |
00FFF2C3 0BDFFE3DA jsr DisplayString |
00FFF2C6 039 rts |
00FFF5EE 0DD024 std Strptr |
00FFF5F0 09F026 stx Strptr+2 |
00FFF5F2 0BDFFE3DD jsr DisplayString |
00FFF5F5 039 rts |
|
msgErr: |
00FFF2C7 02A02A04507207200D00A fcb "**Err",CR,LF,0 |
00FFF2CE 000 |
00FFF5F6 02A02A04507207200D00A fcb "**Err",CR,LF,0 |
00FFF5FD 000 |
|
HelpMsg: |
00FFF2CF 03F02003D020044069073 fcb "? = Display help",CR,LF |
00FFF2D6 07006C061079020068065 |
00FFF2DD 06C07000D00A |
00FFF2E1 04304C05302003D020063 fcb "CLS = clear screen",CR,LF |
00FFF2E8 06C065061072020073063 |
00FFF2EF 07206506506E00D00A |
00FFF2F5 06207302003D020073065 fcb "bs = set breakpoint",CR,LF |
00FFF2FC 07402006207206506106B |
00FFF303 07006F06906E07400D00A |
00FFF30A 06206302003D02006306C fcb "bc = clear breakpoint",CR,LF |
00FFF311 065061072020062072065 |
00FFF318 06106B07006F06906E074 |
00FFF31F 00D00A |
00FFF5FE 03F02003D020044069073 fcb "? = Display help",CR,LF |
00FFF605 07006C061079020068065 |
00FFF60C 06C07000D00A |
00FFF610 04304C05302003D020063 fcb "CLS = clear screen",CR,LF |
00FFF617 06C065061072020073063 |
00FFF61E 07206506506E00D00A |
00FFF624 06202B02003D020073065 fcb "b+ = set breakpoint",CR,LF |
00FFF62B 07402006207206506106B |
00FFF632 07006F06906E07400D00A |
00FFF639 06202D02003D02006306C fcb "b- = clear breakpoint",CR,LF |
00FFF640 065061072020062072065 |
00FFF647 06106B07006F06906E074 |
00FFF64E 00D00A |
; db "S = Boot from SD Card",CR,LF |
00FFF321 03A02003D020045064069 fcb ": = Edit memory bytes",CR,LF |
00FFF328 07402006D06506D06F072 |
00FFF32F 079020062079074065073 |
00FFF336 00D00A |
00FFF650 03A02003D020045064069 fcb ": = Edit memory bytes",CR,LF |
00FFF657 07402006D06506D06F072 |
00FFF65E 079020062079074065073 |
00FFF665 00D00A |
; db "L = Load sector",CR,LF |
; db "W = Write sector",CR,LF |
00FFF338 04405202003D020044075 fcb "DR = Dump registers",CR,LF |
00FFF33F 06D070020072065067069 |
00FFF346 07307406507207300D00A |
00FFF34D 04402003D02004407506D fcb "D = Dump memory",CR,LF |
00FFF354 07002006D06506D06F072 |
00FFF35B 07900D00A |
00FFF35E 04602003D02004606906C fcb "F = Fill memory",CR,LF |
00FFF365 06C02006D06506D06F072 |
00FFF36C 07900D00A |
00FFF36F 04604C02003D020044075 fcb "FL = Dump I/O Focus List",CR,LF |
00FFF376 06D07002004902F04F020 |
00FFF37D 04606F06307507302004C |
00FFF384 06907307400D00A |
00FFF667 04405202003D020044075 fcb "DR = Dump registers",CR,LF |
00FFF66E 06D070020072065067069 |
00FFF675 07307406507207300D00A |
00FFF67C 04402003D02004407506D fcb "D = Dump memory",CR,LF |
00FFF683 07002006D06506D06F072 |
00FFF68A 07900D00A |
00FFF68D 04602003D02004606906C fcb "F = Fill memory",CR,LF |
00FFF694 06C02006D06506D06F072 |
00FFF69B 07900D00A |
00FFF69E 04604C02003D020044075 fcb "FL = Dump I/O Focus List",CR,LF |
00FFF6A5 06D07002004902F04F020 |
00FFF6AC 04606F06307507302004C |
00FFF6B3 06907307400D00A |
; fcb "FIG = start FIG Forth",CR,LF |
; db "KILL n = kill task #n",CR,LF |
; db "B = start tiny basic",CR,LF |
; db "b = start EhBasic 6502",CR,LF |
00FFF389 04A02003D02004A07506D fcb "J = Jump to code",CR,LF |
00FFF390 07002007406F02006306F |
00FFF397 06406500D00A |
00FFF39B 04A04403402003D02004A fcb "JD4 = Jump to $FFD400",CR,LF |
00FFF3A2 07506D07002007406F020 |
00FFF3A9 024046046044034030030 |
00FFF3B0 00D00A |
00FFF3B2 05204104D054045053054 fcb "RAMTEST = test RAM",CR,LF |
00FFF3B9 02003D020074065073074 |
00FFF3C0 02005204104D00D00A |
; db "R[n] = Set register value",CR,LF |
00FFF6B8 04A02003D02004A07506D fcb "J = Jump to code",CR,LF |
00FFF6BF 07002007406F02006306F |
00FFF6C6 06406500D00A |
00FFF6CA 04A04403402003D02004A fcb "JD4 = Jump to $FFD400",CR,LF |
00FFF6D1 07506D07002007406F020 |
00FFF6D8 024046046044034030030 |
00FFF6DF 00D00A |
00FFF6E1 05205B06E05D02003D020 fcb "R[n] = Set register value",CR,LF |
00FFF6E8 053065074020072065067 |
00FFF6EF 069073074065072020076 |
00FFF6F6 06106C07506500D00A |
; db "r = random lines - test bitmap",CR,LF |
; db "e = ethernet test",CR,LF |
00FFF3C6 07302003D020073065072 fcb "s = serial output test",CR,LF |
00FFF3CD 06906106C02006F075074 |
00FFF3D4 070075074020074065073 |
00FFF3DB 07400D00A |
00FFF3DE 05303103902003D020072 fcb "S19 = run S19 loader",CR,LF |
00FFF3E5 07506E020053031039020 |
00FFF3EC 06C06F06106406507200D |
00FFF3F3 00A |
00FFF3F4 05305002003D020073070 fcb "SP = sprite demo",CR,LF |
00FFF3FB 072069074065020064065 |
00FFF402 06D06F00D00A |
00FFF6FC 07302003D020073065072 fcb "s = serial output test",CR,LF |
00FFF703 06906106C02006F075074 |
00FFF70A 070075074020074065073 |
00FFF711 07400D00A |
00FFF714 05303103902003D020072 fcb "S19 = run S19 loader",CR,LF |
00FFF71B 07506E020053031039020 |
00FFF722 06C06F06106406507200D |
00FFF729 00A |
00FFF72A 05305002003D020073070 fcb "SP = sprite demo",CR,LF |
00FFF731 072069074065020064065 |
00FFF738 06D06F00D00A |
; db "T = Dump task list",CR,LF |
; db "TO = Dump timeout list",CR,LF |
00FFF406 05404902003D020064069 fcb "TI = display date/time",CR,LF |
00FFF40D 07307006C061079020064 |
00FFF414 06107406502F07406906D |
00FFF41B 06500D00A |
00FFF73C 05404902003D020064069 fcb "TI = display date/time",CR,LF |
00FFF743 07307006C061079020064 |
00FFF74A 06107406502F07406906D |
00FFF751 06500D00A |
; db "TEMP = display temperature",CR,LF |
00FFF41E 05502003D02007506E061 fcb "U = unassemble",CR,LF |
00FFF425 07307306506D06206C065 |
00FFF42C 00D00A |
00FFF754 05502003D02007506E061 fcb "U = unassemble",CR,LF |
00FFF75B 07307306506D06206C065 |
00FFF762 00D00A |
; db "P = Piano",CR,LF |
00FFF42E 07802003D020065078069 fcb "x = exit monitor",CR,LF |
00FFF435 07402006D06F06E069074 |
00FFF43C 06F07200D00A |
00FFF440 000 fcb 0 |
00FFF764 05804D02003D02007806D fcb "XM = xmodem transfer",CR,LF |
00FFF76B 06F06406506D020074072 |
00FFF772 06106E07306606507200D |
00FFF779 00A |
00FFF77A 07802003D020065078069 fcb "x = exit monitor",CR,LF |
00FFF781 07402006D06F06E069074 |
00FFF788 06F07200D00A |
00FFF78C 000 fcb 0 |
|
msgRegHeadings |
00FFF441 00D00A02002004402F041 fcb CR,LF," D/AB X Y U S PC DP CCR",CR,LF,0 |
00FFF448 042020020020020020058 |
00FFF44F 020020020020020020059 |
00FFF456 020020020020020020055 |
00FFF45D 020020020020020020053 |
00FFF464 020020020020020020020 |
00FFF46B 050043020020020020044 |
00FFF472 05002002004304305200D |
00FFF479 00A000 |
00FFF78D 00D00A02002004402F041 fcb CR,LF," D/AB X Y U S PC DP CCR",CR,LF,0 |
00FFF794 042020020020020020058 |
00FFF79B 020020020020020020059 |
00FFF7A2 020020020020020020055 |
00FFF7A9 020020020020020020053 |
00FFF7B0 020020020020020020020 |
00FFF7B7 050043020020020020044 |
00FFF7BE 05002002004304305200D |
00FFF7C5 00A000 |
|
nHEX4: |
00FFF47B 0BDFFD2D2 jsr HEX4 |
00FFF47E 039 rts |
00FFF7C7 0BDFFD2D2 jsr HEX4 |
00FFF7CA 039 rts |
|
nXBLANK: |
00FFF47F 0C6020 ldb #' ' |
00FFF481 016FFFA5D lbra OUTCH |
00FFF7CB 0C6020 ldb #' ' |
00FFF7CD 016FFF9F9 lbra OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
3827,66 → 4426,66
;------------------------------------------------------------------------------ |
|
DumpMemory: |
00FFF484 08DD1D bsr GetRange |
00FFF486 18E000000 ldy #0 |
00FFF489 1BE000922 ldy mon_r1+2 |
00FFF7D0 08DD00 bsr GetRange |
00FFF7D2 18E000000 ldy #0 |
00FFF7D5 1BE000922 ldy mon_r1+2 |
dmpm2: |
00FFF48C 017FFDC43 lbsr CRLF |
00FFF7D8 017FFD8F7 lbsr CRLF |
*** warning 1: Long branch within short branch range could be optimized |
00FFF48F 0C603A ldb #':' |
00FFF491 017FFFA4D lbsr OUTCH |
00FFF7DB 0C603A ldb #':' |
00FFF7DD 017FFF9E9 lbsr OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF494 01F020 tfr y,d |
00FFF7E0 01F020 tfr y,d |
;addd mon_r1+2 ; output the address |
00FFF496 017FFEF95 lbsr DispWordAsHex |
00FFF7E2 017FFEC4C lbsr DispWordAsHex |
*** warning 1: Long branch within short branch range could be optimized |
00FFF499 0C6020 ldb #' ' |
00FFF49B 017FFFA43 lbsr OUTCH |
00FFF7E5 0C6020 ldb #' ' |
00FFF7E7 017FFF9DF lbsr OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF49E 08E000008 ldx #8 ; number of bytes to display |
00FFF7EA 08E000008 ldx #8 ; number of bytes to display |
dmpm1: |
; ldb far [mon_r1+1],y |
;ldb [mon_r1+2],y |
00FFF4A1 0E6A04 ldb ,y |
00FFF4A3 031201 iny |
00FFF4A5 017FFEF8F lbsr DispByteAsHex ; display byte |
00FFF7ED 0E6A04 ldb ,y |
00FFF7EF 031201 iny |
00FFF7F1 017FFEC46 lbsr DispByteAsHex ; display byte |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4A8 0C6020 ldb #' ' ; followed by a space |
00FFF4AA 017FFFA34 lbsr OUTCH |
00FFF7F4 0C6020 ldb #' ' ; followed by a space |
00FFF7F6 017FFF9D0 lbsr OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4AD 05F clrb |
00FFF4AE 04F clra |
00FFF4AF 017FFF9F7 lbsr INCH |
00FFF7F9 05F clrb |
00FFF7FA 04F clra |
00FFF7FB 017FFF993 lbsr INCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4B2 0C1003 cmpb #CTRLC |
00FFF4B4 027024 beq dmpm3 |
00FFF4B6 0301FF dex |
00FFF4B8 026FE7 bne dmpm1 |
00FFF7FE 0C1003 cmpb #CTRLC |
00FFF800 027024 beq dmpm3 |
00FFF802 0301FF dex |
00FFF804 026FE7 bne dmpm1 |
; Now output ascii |
00FFF4BA 0C6020 ldb #' ' |
00FFF4BC 017FFFA22 lbsr OUTCH |
00FFF806 0C6020 ldb #' ' |
00FFF808 017FFF9BE lbsr OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4BF 08E000008 ldx #8 ; 8 chars to output |
00FFF4C2 0313F8 leay -8,y ; backup pointer |
00FFF80B 08E000008 ldx #8 ; 8 chars to output |
00FFF80E 0313F8 leay -8,y ; backup pointer |
dmpm5: |
; ldb far [mon_r1+1],y ; get the char |
; ldb [mon_r1+2],y ; get the char |
00FFF4C4 0E6A04 ldb ,y |
00FFF4C6 0C1020 cmpb #$20 ; is it a control char? |
00FFF4C8 024002 bhs dmpm4 |
00FFF4CA 0C602E ldb #'.' |
00FFF810 0E6A04 ldb ,y |
00FFF812 0C1020 cmpb #$20 ; is it a control char? |
00FFF814 024002 bhs dmpm4 |
00FFF816 0C602E ldb #'.' |
dmpm4: |
00FFF4CC 017FFFA12 lbsr OUTCH |
00FFF818 017FFF9AE lbsr OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4CF 031201 iny |
00FFF4D1 0301FF dex |
00FFF4D3 026FEF bne dmpm5 |
00FFF4D5 1BC000926 cmpy mon_r2+2 |
00FFF4D8 025FB2 blo dmpm2 |
00FFF81B 031201 iny |
00FFF81D 0301FF dex |
00FFF81F 026FEF bne dmpm5 |
00FFF821 1BC000926 cmpy mon_r2+2 |
00FFF824 025FB2 blo dmpm2 |
dmpm3: |
00FFF4DA 017FFDBF5 lbsr CRLF |
00FFF826 017FFD8A9 lbsr CRLF |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4DD 016FFFB59 lbra Monitor |
00FFF829 016FFFB30 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
3901,42 → 4500,44
;------------------------------------------------------------------------------ |
|
EditMemory: |
00FFF4E0 0CE000008 ldu #8 ; set max byte count |
00FFF4E3 017FFFCE6 lbsr GetHexNumber ; get the start address |
00FFF82C 0CE000008 ldu #8 ; set max byte count |
00FFF82F 017FFFC48 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4E6 0BE000912 ldx mon_numwka+2 |
00FFF832 017FFFCC6 lbsr GetHexNumber ; get the start address |
*** warning 1: Long branch within short branch range could be optimized |
00FFF835 0BE000912 ldx mon_numwka+2 |
EditMem2: |
00FFF4E9 017FFFC5F lbsr ignBlanks ; skip over blanks |
00FFF838 017FFFC3F lbsr ignBlanks ; skip over blanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4EC 017FFFCDD lbsr GetHexNumber ; get the byte value |
00FFF83B 017FFFCBD lbsr GetHexNumber ; get the byte value |
*** warning 1: Long branch within short branch range could be optimized |
00FFF4EF 05D tstb ; check for valid value |
00FFF4F0 02700C beq EditMem1 ; if invalid, quit |
00FFF4F2 0F6000913 ldb mon_numwka+3 ; get value |
00FFF4F5 0E7800 stb ,x+ ; update memory at address |
00FFF4F7 0335FF leau -1,u ; decremeent byte count |
00FFF4F9 283000000 cmpu #0 |
00FFF4FC 026FEB bne EditMem2 ; go back for annother byte |
00FFF83E 05D tstb ; check for valid value |
00FFF83F 02700C beq EditMem1 ; if invalid, quit |
00FFF841 0F6000913 ldb mon_numwka+3 ; get value |
00FFF844 0E7800 stb ,x+ ; update memory at address |
00FFF846 0335FF leau -1,u ; decremeent byte count |
00FFF848 283000000 cmpu #0 |
00FFF84B 026FEB bne EditMem2 ; go back for annother byte |
EditMem1: |
00FFF4FE 017FFFC2D lbsr MonGetch ; see if a string is being entered |
00FFF84D 017FFFC0D lbsr MonGetch ; see if a string is being entered |
*** warning 1: Long branch within short branch range could be optimized |
00FFF501 0C1022 cmpb #'"' |
00FFF503 026018 bne EditMem3 ; no string, we're done |
00FFF505 0CE000028 ldu #40 ; string must be less than 40 chars |
00FFF850 0C1022 cmpb #'"' |
00FFF852 026018 bne EditMem3 ; no string, we're done |
00FFF854 0CE000028 ldu #40 ; string must be less than 40 chars |
EditMem4: |
00FFF508 017FFFC23 lbsr MonGetch ; look for close quote |
00FFF857 017FFFC03 lbsr MonGetch ; look for close quote |
*** warning 1: Long branch within short branch range could be optimized |
00FFF50B 0C1022 cmpb #'"' |
00FFF50D 026005 bne EditMem6 ; end of string? |
00FFF50F 0CE000008 ldu #8 ; reset the byte count |
00FFF512 020FD5 bra EditMem2 |
00FFF85A 0C1022 cmpb #'"' |
00FFF85C 026005 bne EditMem6 ; end of string? |
00FFF85E 0CE000008 ldu #8 ; reset the byte count |
00FFF861 020FD5 bra EditMem2 |
EditMem6: |
00FFF514 0E7800 stb ,x+ ; store the character in memory |
00FFF516 0335FF leau -1,u ; decrement byte count |
00FFF518 283000000 cmpu #0 |
00FFF51B 022FEB bhi EditMem4 ; max 40 chars |
00FFF863 0E7800 stb ,x+ ; store the character in memory |
00FFF865 0335FF leau -1,u ; decrement byte count |
00FFF867 283000000 cmpu #0 |
00FFF86A 022FEB bhi EditMem4 ; max 40 chars |
EditMem3: |
00FFF51D 016FFFB19 lbra Monitor |
00FFF86C 016FFFAED lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
|
3949,32 → 4550,32
;------------------------------------------------------------------------------ |
|
FillMemory: |
00FFF520 017FFFC80 lbsr GetRange ; get address range to fill |
00FFF86F 017FFFC60 lbsr GetRange ; get address range to fill |
*** warning 1: Long branch within short branch range could be optimized |
00FFF523 017FFFC25 lbsr ignBlanks |
00FFF872 017FFFC05 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF526 017FFFCA3 lbsr GetHexNumber ; get target byte to write |
00FFF875 017FFFC83 lbsr GetHexNumber ; get target byte to write |
*** warning 1: Long branch within short branch range could be optimized |
00FFF529 0F6000913 ldb mon_numwka+3 |
00FFF52C 0BE000922 ldx mon_r1+2 |
00FFF52F 04F clra |
00FFF878 0F6000913 ldb mon_numwka+3 |
00FFF87B 0BE000922 ldx mon_r1+2 |
00FFF87E 04F clra |
fillm1: ; Check for a CTRL-C every page of memory |
00FFF530 04D tsta |
00FFF531 02600D bne fillm2 |
00FFF533 05F clrb ; we want a non-blocking check |
00FFF534 04F clra |
00FFF535 017FFF971 lbsr INCH |
00FFF87F 04D tsta |
00FFF880 02600D bne fillm2 |
00FFF882 05F clrb ; we want a non-blocking check |
00FFF883 04F clra |
00FFF884 017FFF90A lbsr INCH |
*** warning 1: Long branch within short branch range could be optimized |
00FFF538 0C1003 cmpb #CTRLC |
00FFF53A 127FFFAFC lbeq Monitor |
00FFF887 0C1003 cmpb #CTRLC |
00FFF889 127FFFAD0 lbeq Monitor |
*** warning 1: Long branch within short branch range could be optimized |
00FFF53D 0F6000913 ldb mon_numwka+3 ; reset target byte |
00FFF88C 0F6000913 ldb mon_numwka+3 ; reset target byte |
fillm2: |
00FFF540 0E7800 stb ,x+ |
00FFF542 0BC000926 cmpx mon_r2+2 |
00FFF545 023FE9 bls fillm1 |
00FFF88F 0E7800 stb ,x+ |
00FFF891 0BC000926 cmpx mon_r2+2 |
00FFF894 023FE9 bls fillm1 |
fillm3: |
00FFF547 016FFFAEF lbra Monitor |
00FFF896 016FFFAC3 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
3985,42 → 4586,141
;------------------------------------------------------------------------------ |
|
DumpRegs: |
00FFF54A 0CCFFF441 ldd #msgRegHeadings |
00FFF54D 017FFEE8A lbsr DisplayString |
00FFF899 0CCFFF78D ldd #msgRegHeadings |
00FFF89C 017FFEB3E lbsr DisplayString |
*** warning 1: Long branch within short branch range could be optimized |
00FFF550 08DF2D bsr nXBLANK |
00FFF552 0FC000900 ldd mon_DSAVE |
00FFF555 08DF24 bsr nHEX4 |
00FFF557 08DF26 bsr nXBLANK |
00FFF559 0FC000902 ldd mon_XSAVE |
00FFF55C 08DF1D bsr nHEX4 |
00FFF55E 08DF1F bsr nXBLANK |
00FFF560 0FC000904 ldd mon_YSAVE |
00FFF563 08DF16 bsr nHEX4 |
00FFF565 08DF18 bsr nXBLANK |
00FFF567 0FC000906 ldd mon_USAVE |
00FFF56A 08DF0F bsr nHEX4 |
00FFF56C 08DF11 bsr nXBLANK |
00FFF56E 0FC000908 ldd mon_SSAVE |
00FFF571 08DF08 bsr nHEX4 |
00FFF573 08DF0A bsr nXBLANK |
00FFF575 0F600090B ldb mon_PCSAVE+1 |
00FFF578 017FFEEBC lbsr DispByteAsHex |
00FFF89F 08DF2A bsr nXBLANK |
00FFF8A1 0FC000900 ldd mon_DSAVE |
00FFF8A4 08DF21 bsr nHEX4 |
00FFF8A6 08DF23 bsr nXBLANK |
00FFF8A8 0FC000902 ldd mon_XSAVE |
00FFF8AB 08DF1A bsr nHEX4 |
00FFF8AD 08DF1C bsr nXBLANK |
00FFF8AF 0FC000904 ldd mon_YSAVE |
00FFF8B2 08DF13 bsr nHEX4 |
00FFF8B4 08DF15 bsr nXBLANK |
00FFF8B6 0FC000906 ldd mon_USAVE |
00FFF8B9 08DF0C bsr nHEX4 |
00FFF8BB 08DF0E bsr nXBLANK |
00FFF8BD 0FC000908 ldd mon_SSAVE |
00FFF8C0 08DF05 bsr nHEX4 |
00FFF8C2 08DF07 bsr nXBLANK |
00FFF8C4 0F600090B ldb mon_PCSAVE+1 |
00FFF8C7 017FFEB70 lbsr DispByteAsHex |
*** warning 1: Long branch within short branch range could be optimized |
00FFF57B 0FC00090C ldd mon_PCSAVE+2 |
00FFF57E 08DEFB bsr nHEX4 |
00FFF580 08DEFD bsr nXBLANK |
00FFF582 0FC00090E ldd mon_DPRSAVE |
00FFF585 0BDFFD2CE jsr HEX2 |
00FFF588 08DEF5 bsr nXBLANK |
00FFF58A 0B600090F lda mon_CCRSAVE |
00FFF58D 017FFDD3E lbsr HEX2 |
00FFF8CA 0FC00090C ldd mon_PCSAVE+2 |
00FFF8CD 08DEF8 bsr nHEX4 |
00FFF8CF 08DEFA bsr nXBLANK |
00FFF8D1 0FC00090E ldd mon_DPRSAVE |
00FFF8D4 0BDFFD2CE jsr HEX2 |
00FFF8D7 08DEF2 bsr nXBLANK |
00FFF8D9 0B600090F lda mon_CCRSAVE |
00FFF8DC 017FFD9EF lbsr HEX2 |
*** warning 1: Long branch within short branch range could be optimized |
00FFF590 08DEED bsr nXBLANK |
00FFF592 016FFFAA4 lbra Monitor |
00FFF8DF 08DEEA bsr nXBLANK |
00FFF8E1 016FFFA78 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
; SetRegXXX |
; |
; Set the value to be loaded into a register. |
;------------------------------------------------------------------------------ |
|
SetRegA: |
00FFF8E4 017FFFB93 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF8E7 017FFFCA7 lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF8EA 0B6000913 lda mon_numwka+3 |
00FFF8ED 0B7000900 sta mon_DSAVE |
00FFF8F0 016FFFA69 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegB: |
00FFF8F3 017FFFB84 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF8F6 017FFFC98 lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF8F9 0B6000913 lda mon_numwka+3 |
00FFF8FC 0B7000901 sta mon_DSAVE+1 |
00FFF8FF 016FFFA5A lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegD: |
00FFF902 017FFFB75 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF905 017FFFC89 lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF908 0FC000912 ldd mon_numwka+2 |
00FFF90B 0FD000900 std mon_DSAVE |
00FFF90E 016FFFA4B lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegX: |
00FFF911 017FFFB66 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF914 017FFFC7A lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF917 0FC000912 ldd mon_numwka+2 |
00FFF91A 0FD000902 std mon_XSAVE |
00FFF91D 016FFFA3C lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegY: |
00FFF920 017FFFB57 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF923 017FFFC6B lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF926 0FC000912 ldd mon_numwka+2 |
00FFF929 0FD000904 std mon_YSAVE |
00FFF92C 016FFFA2D lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegU: |
00FFF92F 017FFFB48 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF932 017FFFC5C lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF935 0FC000912 ldd mon_numwka+2 |
00FFF938 0FD000906 std mon_USAVE |
00FFF93B 016FFFA1E lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegS: |
00FFF93E 017FFFB39 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF941 017FFFC4D lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF944 0FC000912 ldd mon_numwka+2 |
00FFF947 0FD000908 std mon_SSAVE |
00FFF94A 016FFFA0F lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegDPR: |
00FFF94D 017FFFB2A lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF950 017FFFC3E lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF953 0B6000913 lda mon_numwka+3 |
00FFF956 0B700090E sta mon_DPRSAVE |
00FFF959 016FFFA00 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegCCR: |
00FFF95C 017FFFB1B lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF95F 017FFFC2F lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF962 0B6000913 lda mon_numwka+3 |
00FFF965 0B700090F sta mon_CCRSAVE |
00FFF968 016FFF9F1 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
SetRegPC: |
00FFF96B 017FFFB0C lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF96E 017FFFC20 lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF971 0FC000912 ldd mon_numwka+2 |
00FFF974 0FD00090C std mon_PCSAVE+2 |
00FFF977 0F6000911 ldb mon_numwka+1 |
00FFF97A 0F700090B stb mon_PCSAVE+1 |
00FFF97D 016FFF9DC lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
; Jump to code |
; |
; Registers are loaded with values from the monitor register save area before |
4030,55 → 4730,55
;------------------------------------------------------------------------------ |
|
jump_to_code: |
00FFF595 08DCCB bsr GetNumber |
00FFF597 01A010 sei |
00FFF599 1FE000908 lds mon_SSAVE |
00FFF59C 0CCFFF5D0 ldd #jtc_exit ; setup stack for RTS back to monitor |
00FFF59F 034006 pshs d |
00FFF5A1 0C6000 ldb #0 |
00FFF5A3 034004 pshs b |
00FFF5A5 0FC000912 ldd mon_numwka+2 ; get the address parameter |
00FFF5A8 034006 pshs d |
00FFF5AA 0F6000911 ldb mon_numwka+1 |
00FFF5AD 034004 pshs b |
00FFF5AF 0FC000906 ldd mon_USAVE |
00FFF5B2 034006 pshs d |
00FFF5B4 0FC000904 ldd mon_YSAVE |
00FFF5B7 034006 pshs d |
00FFF5B9 0FC000902 ldd mon_XSAVE |
00FFF5BC 034006 pshs d |
00FFF5BE 0B600090E lda mon_DPRSAVE |
00FFF5C1 034002 pshs a |
00FFF5C3 0FC000900 ldd mon_DSAVE |
00FFF5C6 034006 pshs d |
00FFF5C8 0B600090F lda mon_CCRSAVE |
00FFF5CB 034002 pshs a |
00FFF5CD 0150350FF puls far ccr,d,dpr,x,y,u,pc |
00FFF980 017FFFAF7 lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF983 017FFFC0B lbsr GetNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFF986 01A010 sei |
00FFF988 1FE000908 lds mon_SSAVE |
00FFF98B 0CCFFF9BA ldd #jtc_exit ; setup stack for RTS back to monitor |
00FFF98E 034006 pshs d |
00FFF990 0C6000 ldb #0 |
00FFF992 034004 pshs b |
00FFF994 0FC000906 ldd mon_USAVE |
00FFF997 034006 pshs d |
00FFF999 0FC000904 ldd mon_YSAVE |
00FFF99C 034006 pshs d |
00FFF99E 0FC000902 ldd mon_XSAVE |
00FFF9A1 034006 pshs d |
00FFF9A3 0B600090E lda mon_DPRSAVE |
00FFF9A6 034002 pshs a |
00FFF9A8 0FC000900 ldd mon_DSAVE |
00FFF9AB 034006 pshs d |
00FFF9AD 0B600090F lda mon_CCRSAVE |
00FFF9B0 034002 pshs a |
00FFF9B2 01503507F puls far ccr,d,dpr,x,y,u |
00FFF9B5 01506E90F000911 jmp far [mon_numwka+1] |
jtc_exit: |
00FFF5D0 1FF000908 sts >mon_SSAVE ; need to use extended addressing, no direct page setting |
00FFF5D3 03280F006FFF leas $6FFF ; reset stack to system area, dont modify flags register! |
00FFF5D7 034001 pshs ccr ; now the stack can be used |
00FFF5D9 034002 pshs a ; save acca register so we can use it |
00FFF5DB 01F0B8 tfr dpr,a ; a = outgoing dpr value |
00FFF5DD 0B700090E sta >mon_DPRSAVE ; force extended addressing mode usage here dpr is not set |
00FFF5E0 04F clra ; dpg register must be set to zero before values are |
00FFF5E1 01F08B tfr a,dpr ; saved in the monitor register save area. |
00FFF5E3 035002 puls a ; get back acca |
00FFF5E5 0FD000900 std mon_DSAVE ; save regsters, can use direct addressing now |
00FFF5E8 0BF000902 stx mon_XSAVE |
00FFF5EB 1BF000904 sty mon_YSAVE |
00FFF5EE 0FF000906 stu mon_USAVE |
00FFF5F1 035002 puls a ; get back ccr |
00FFF5F3 0B700090F sta mon_CCRSAVE ; and save it too |
00FFF9BA 1FF000908 sts >mon_SSAVE ; need to use extended addressing, no direct page setting |
00FFF9BD 03280F006FFF leas $6FFF ; reset stack to system area, dont modify flags register! |
00FFF9C1 034001 pshs ccr ; now the stack can be used |
00FFF9C3 034002 pshs a ; save acca register so we can use it |
00FFF9C5 01F0B8 tfr dpr,a ; a = outgoing dpr value |
00FFF9C7 0B700090E sta >mon_DPRSAVE ; force extended addressing mode usage here dpr is not set |
00FFF9CA 04F clra ; dpg register must be set to zero before values are |
00FFF9CB 01F08B tfr a,dpr ; saved in the monitor register save area. |
00FFF9CD 035002 puls a ; get back acca |
00FFF9CF 0FD000900 std mon_DSAVE ; save regsters, can use direct addressing now |
00FFF9D2 0BF000902 stx mon_XSAVE |
00FFF9D5 1BF000904 sty mon_YSAVE |
00FFF9D8 0FF000906 stu mon_USAVE |
00FFF9DB 035002 puls a ; get back ccr |
00FFF9DD 0B700090F sta mon_CCRSAVE ; and save it too |
; Reset vectors in case they got toasted. |
00FFF5F6 0CCFFEC64 ldd #SerialPeekCharDirect |
00FFF5F9 0FD000804 std CharInVec |
00FFF5FC 0CCFFE319 ldd #DisplayChar |
00FFF5FF 0FD000800 std CharOutVec |
00FFF602 0FCFFF2B6 ldd DisplayErr |
00FFF605 0FD00080C std MonErrVec |
00FFF9E0 0CCFFEC73 ldd #SerialPeekCharDirect |
00FFF9E3 0FD000804 std CharInVec |
00FFF9E6 0CCFFE31C ldd #DisplayChar |
00FFF9E9 0FD000800 std CharOutVec |
00FFF9EC 0FCFFF5E5 ldd DisplayErr |
00FFF9EF 0FD00080C std MonErrVec |
; todo set according to coreid |
00FFF608 016FFFF3F lbra DumpRegs ; now go do a register dump |
00FFF9F2 016FFFEA4 lbra DumpRegs ; now go do a register dump |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
4085,48 → 4785,49
;------------------------------------------------------------------------------ |
|
DumpIOFocusList: |
00FFF60B 08E000000 ldx #0 |
00FFF9F5 08E000000 ldx #0 |
dfl2: |
00FFF60E 0E680A000FFC000 ldb IOFocusList,x |
00FFF613 0C1018 cmpb #24 |
00FFF615 02600A bne dfl1 |
00FFF617 01F010 tfr x,d |
00FFF619 017FFEE1B lbsr DispByteAsHex |
00FFF9F8 0E680A000FFC000 ldb IOFocusList,x |
00FFF9FD 0C1018 cmpb #24 |
00FFF9FF 02600A bne dfl1 |
00FFFA01 01F010 tfr x,d |
00FFFA03 017FFEA34 lbsr DispByteAsHex |
*** warning 1: Long branch within short branch range could be optimized |
00FFF61C 0C6020 ldb #' ' |
00FFF61E 017FFF8C0 lbsr OUTCH |
00FFFA06 0C6020 ldb #' ' |
00FFFA08 017FFF7BE lbsr OUTCH |
*** warning 1: Long branch within short branch range could be optimized |
dfl1: |
00FFF621 030001 inx |
00FFF623 08C000010 cmpx #16 |
00FFF626 025FE6 blo dfl2 |
00FFF628 017FFDAA7 lbsr CRLF |
00FFFA0B 030001 inx |
00FFFA0D 08C000010 cmpx #16 |
00FFFA10 025FE6 blo dfl2 |
00FFFA12 017FFD6BD lbsr CRLF |
*** warning 1: Long branch within short branch range could be optimized |
00FFF62B 016FFFA0B lbra Monitor |
00FFFA15 016FFF944 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
bootpg: |
00FFF62E 000 fcb $000 |
00FFFA18 000 fcb $000 |
boot_stack: |
00FFF62F FFC0FF fcw $FFC0FF |
00FFFA19 FFC0FF fcw $FFC0FF |
numBreakpoints: |
00FFF631 008 fcb 8 |
00FFFA1B 000008 fcw 8 |
mon_rom_vectab: |
00FFF632 FFF634 fcw mon_rom_vecs |
00FFFA1D FFFA1F fcw mon_rom_vecs |
mon_rom_vecs: |
00FFF634 FFF039 fcw Monitor ; enter monitor program |
00FFF636 FFEEA9 fcw INCH ; input a character |
00FFF638 FFEEE1 fcw OUTCH ; output a character |
00FFF63A FFD0D2 fcw CRLF ; output carriage-return, line feed |
00FFF63C FFE3DA fcw DisplayString |
00FFF63E FFE437 fcw DispByteAsHex |
00FFF640 FFE42E fcw DispWordAsHex |
00FFF642 FFEEEB fcw ShowSprites |
00FFF644 FFEF6F fcw mon_srand |
00FFF646 FFEF9D fcw mon_rand |
00FFF648 000000 fcw 0 ; operating system call |
00FFF64A FFF1A3 fcw GetRange |
00FFF64C FFF262 fcw GetNumber |
00FFFA1F FFF35C fcw Monitor ; enter monitor program |
00FFFA21 FFF191 fcw INCH ; input a character |
00FFFA23 FFF1C9 fcw OUTCH ; output a character |
00FFFA25 FFD0D2 fcw CRLF ; output carriage-return, line feed |
00FFFA27 FFE3DD fcw DisplayString |
00FFFA29 FFE43A fcw DispByteAsHex |
00FFFA2B FFE431 fcw DispWordAsHex |
00FFFA2D FFF1D3 fcw ShowSprites |
00FFFA2F FFF257 fcw mon_srand |
00FFFA31 FFF285 fcw mon_rand |
00FFFA33 000000 fcw 0 ; operating system call |
00FFFA35 FFF4D2 fcw GetRange |
00FFFA37 FFF591 fcw GetNumber |
00FFFA39 FFEC9A fcw SerialPutChar |
|
NumFuncs EQU (*-mon_rom_vectab)/2 |
|
4134,19 → 4835,20
; D and possibly X registers. |
|
mon_rettab: |
00FFF64E 000 fcb 0 ; monitor |
00FFF64F 800 fcb $800 ; INCH |
00FFF650 000 fcb 0 ; OUTCH |
00FFF651 000 fcb 0 ; CRLF |
00FFF652 000 fcb 0 ; DisplayString |
00FFF653 000 fcb 0 ; DisplayByte |
00FFF654 000 fcb 0 ; DisplayWord |
00FFF655 000 fcb 0 ; show sprites |
00FFF656 000 fcb 0 ; srand |
00FFF657 C00 fcb $C00 ; rand |
00FFF658 C00 fcb $C00 ; OS call |
00FFF659 000 fcb 0 ; GetRange |
00FFF65A 800 fcb $800 ; GetNumber |
00FFFA3B 000 fcb 0 ; monitor |
00FFFA3C 800 fcb $800 ; INCH |
00FFFA3D 000 fcb 0 ; OUTCH |
00FFFA3E 000 fcb 0 ; CRLF |
00FFFA3F 000 fcb 0 ; DisplayString |
00FFFA40 000 fcb 0 ; DisplayByte |
00FFFA41 000 fcb 0 ; DisplayWord |
00FFFA42 000 fcb 0 ; show sprites |
00FFFA43 000 fcb 0 ; srand |
00FFFA44 C00 fcb $C00 ; rand |
00FFFA45 C00 fcb $C00 ; OS call |
00FFFA46 000 fcb 0 ; GetRange |
00FFFA47 800 fcb $800 ; GetNumber |
00FFFA48 000 fcb 0 ; SerialPutChar |
|
;------------------------------------------------------------------------------ |
; SWI routine. |
4158,308 → 4860,350
;------------------------------------------------------------------------------ |
|
swi_rout: |
00FFF65B 0E680CFD0 ldb bootpg,pcr ; reset direct page |
00FFF65E 01F09B tfr b,dp |
00FFFA49 0E680CFCC ldb bootpg,pcr ; reset direct page |
00FFFA4C 01F09B tfr b,dp |
swi_rout1: |
00FFF660 0EE60B ldu 11,s ; get program counter (low order 2 bytes) |
00FFF662 0335FF leau -1,u ; backup a byte |
00FFF664 07D000810 tst BreakpointFlag ; are we in breakpoint mode? |
00FFF667 02700F beq swiNotBkpt |
00FFF669 0CE000820 ldu #Breakpoints |
00FFF66C 0F6000811 ldb NumSetBreakpoints |
00FFF66F 027007 beq swiNotBkpt |
00FFFA4E 0EE60B ldu 11,s ; get program counter (low order 2 bytes) |
00FFFA50 0335FF leau -1,u ; backup a byte |
00FFFA52 07D000810 tst BreakpointFlag ; are we in breakpoint mode? |
00FFFA55 02700F beq swiNotBkpt |
00FFFA57 18E000820 ldy #Breakpoints |
00FFFA5A 0F6000811 ldb NumSetBreakpoints |
00FFFA5D 027007 beq swiNotBkpt |
swi_rout2: |
00FFF671 2A3A01 cmpu ,y++ |
00FFF673 02704B beq processBreakpoint |
00FFF675 05A decb |
00FFF676 026FF9 bne swi_rout2 |
00FFFA5F 2A3A01 cmpu ,y++ |
00FFFA61 02704B beq processBreakpoint |
00FFFA63 05A decb |
00FFFA64 026FF9 bne swi_rout2 |
swiNotBkpt: |
00FFF678 07F000810 clr BreakpointFlag |
00FFF67B 037006 pulu d ; get function #, increment PC |
00FFF67D 0C100E cmpb #NumFuncs |
00FFF67F 122FFFC34 lbhi DisplayErr |
00FFFA66 07F000810 clr BreakpointFlag |
00FFFA69 037006 pulu d ; get function #, increment PC |
00FFFA6B 0C100F cmpb #NumFuncs |
00FFFA6D 122FFFB75 lbhi DisplayErr |
*** warning 1: Long branch within short branch range could be optimized |
00FFF682 0EF60B stu 11,s ; save updated PC on stack |
00FFF684 0C100A cmpb #MF_OSCALL |
00FFF686 02706D beq swiCallOS |
00FFF688 058 aslb ; 2 bytes per vector |
00FFF689 0AE80CFA6 ldx mon_rom_vectab,pcr |
00FFF68C 03A abx |
00FFF68D 0AE804 ldx ,x |
00FFF68F 0BF000928 stx jmpvec |
00FFF692 054 lsrb |
00FFF693 08EFFF64E ldx #mon_rettab |
00FFF696 03A abx |
00FFF697 0E6804 ldb ,x |
00FFF699 0F7000930 stb mon_retflag |
00FFF69C 1FF000908 sts mon_SSAVE ; save the stack pointer |
00FFF69F 0EC601 ldd 1,s ; get back D |
00FFF6A1 0AE604 ldx 4,s ; get back X |
00FFF6A3 1AE606 ldy 6,s ; get back Y |
00FFF6A5 0EE608 ldu 8,s ; get back U |
00FFF6A7 1EE80CF85 lds boot_stack,pcr ; and use our own stack |
00FFF6AA 0AD90F000928 jsr [jmpvec] ; call the routine |
00FFFA70 0EF60B stu 11,s ; save updated PC on stack |
00FFFA72 0C100A cmpb #MF_OSCALL |
00FFFA74 027072 beq swiCallOS |
00FFFA76 058 aslb ; 2 bytes per vector |
00FFFA77 0AE80CFA3 ldx mon_rom_vectab,pcr |
00FFFA7A 03A abx |
00FFFA7B 0AE804 ldx ,x |
00FFFA7D 0BF000928 stx jmpvec |
00FFFA80 054 lsrb |
00FFFA81 08EFFFA3B ldx #mon_rettab |
00FFFA84 03A abx |
00FFFA85 0E6804 ldb ,x |
00FFFA87 0F7000930 stb mon_retflag |
00FFFA8A 1FF000908 sts mon_SSAVE ; save the stack pointer |
00FFFA8D 0EC601 ldd 1,s ; get back D |
00FFFA8F 0AE604 ldx 4,s ; get back X |
00FFFA91 1AE606 ldy 6,s ; get back Y |
00FFFA93 0EE608 ldu 8,s ; get back U |
00FFFA95 1EE80CF81 lds boot_stack,pcr ; and use our own stack |
00FFFA98 0AD90F000928 jsr [jmpvec] ; call the routine |
swi_rout3: |
00FFF6AE 1FE000908 lds mon_SSAVE ; restore stack |
00FFF6B1 07D000930 tst mon_retflag |
00FFF6B4 02A009 bpl swi_rout4 |
00FFF6B6 0ED601 std 1,s ; return value in D |
00FFF6B8 078000930 asl mon_retflag |
00FFF6BB 02A002 bpl swi_rout4 |
00FFF6BD 0AF604 stx 4,s ; return value in X |
00FFFA9C 1FE000908 lds mon_SSAVE ; restore stack |
00FFFA9F 07D000930 tst mon_retflag |
00FFFAA2 02A009 bpl swi_rout4 |
00FFFAA4 0ED601 std 1,s ; return value in D |
00FFFAA6 078000930 asl mon_retflag |
00FFFAA9 02A002 bpl swi_rout4 |
00FFFAAB 0AF604 stx 4,s ; return value in X |
swi_rout4: |
00FFF6BF 03B rti |
00FFFAAD 03B rti |
|
;------------------------------------------------------------------------------ |
; A breakpoint was struck during program execution, process accordingly. |
;------------------------------------------------------------------------------ |
|
processBreakpoint: |
00FFF6C0 0A6E04 lda ,s |
00FFF6C2 0B700090F sta mon_CCRSAVE |
00FFF6C5 0EC601 ldd 1,s |
00FFF6C7 0FD000900 std mon_DSAVE |
00FFF6CA 0E6603 ldb 3,s |
00FFF6CC 0F700090E stb mon_DPRSAVE |
00FFF6CF 0EC604 ldd 4,s |
00FFF6D1 0FD000902 std mon_XSAVE |
00FFF6D4 0EC606 ldd 6,s |
00FFF6D6 0FD000904 std mon_YSAVE |
00FFF6D9 0EC608 ldd 8,s |
00FFF6DB 0FD000906 std mon_USAVE |
00FFF6DE 1FF000908 sts mon_SSAVE |
00FFF6E1 0EC60B ldd 11,s |
00FFF6E3 0FD00090A std mon_PCSAVE |
00FFF6E6 1EE80CF46 lds boot_stack,pcr |
00FFF6E9 0CCFFF6AE ldd #swi_rout3 ; setup so monitor can return |
00FFF6EC 034006 pshs d |
00FFF6EE 08D01F bsr DisarmAllBreakpoints |
00FFF6F0 016FFFE57 lbra DumpRegs |
00FFFAAE 0A6E04 lda ,s |
00FFFAB0 0B700090F sta mon_CCRSAVE |
00FFFAB3 0EC601 ldd 1,s |
00FFFAB5 0FD000900 std mon_DSAVE |
00FFFAB8 0E6603 ldb 3,s |
00FFFABA 0F700090E stb mon_DPRSAVE |
00FFFABD 0EC604 ldd 4,s |
00FFFABF 0FD000902 std mon_XSAVE |
00FFFAC2 0EC606 ldd 6,s |
00FFFAC4 0FD000904 std mon_YSAVE |
00FFFAC7 0EC608 ldd 8,s |
00FFFAC9 0FD000906 std mon_USAVE |
00FFFACC 1FF000908 sts mon_SSAVE |
00FFFACF 0E660A ldb 10,s |
00FFFAD1 0F700090A stb mon_PCSAVE |
00FFFAD4 0EC60B ldd 11,s |
00FFFAD6 0FD00090B std mon_PCSAVE+1 |
00FFFAD9 1EE80CF3D lds boot_stack,pcr |
00FFFADC 0CCFFFA9C ldd #swi_rout3 ; setup so monitor can return |
00FFFADF 034006 pshs d |
00FFFAE1 08D01F bsr DisarmAllBreakpoints |
00FFFAE3 016FFFDB3 lbra DumpRegs |
*** warning 1: Long branch within short branch range could be optimized |
|
xitMonitor: |
00FFF6F3 020039 bra ArmAllBreakpoints |
00FFFAE6 020039 bra ArmAllBreakpoints |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
swiCallOS: |
00FFF6F5 033401 leau 1,u ; next byte is func number |
00FFF6F7 0E6C00 ldb ,u+ |
00FFF6F9 0C1019 cmpb #NumOSFuncs ; check for valid range |
00FFF6FB 122FFFBB8 lbhi DisplayErr |
00FFFAE8 033401 leau 1,u ; next byte is func number |
00FFFAEA 0E6C00 ldb ,u+ |
00FFFAEC 0C1019 cmpb #NumOSFuncs ; check for valid range |
00FFFAEE 122FFFAF4 lbhi DisplayErr |
*** warning 1: Long branch within short branch range could be optimized |
00FFF6FE 0EF60B stu 11,s ; save updateed PC on stack |
00FFF700 058 aslb ; compute vector address |
00FFF701 08EFFEEF6 ldx #OSCallTbl |
00FFF704 06DE0F tst b,x ; check for non-zero vector |
00FFF706 027FA6 beq swi_rout3 |
00FFFAF1 0EF60B stu 11,s ; save updateed PC on stack |
00FFFAF3 058 aslb ; compute vector address |
00FFFAF4 08EFFF1DE ldx #OSCallTbl |
00FFFAF7 06DE0F tst b,x ; check for non-zero vector |
00FFFAF9 027FA1 beq swi_rout3 |
osc1: |
; tst OSSEMA+1 ; wait for availability |
; beq osc1 |
00FFF708 0ADF0F jsr [b,x] ; call the OS routine |
00FFFAFB 0ADF0F jsr [b,x] ; call the OS routine |
oscx: |
00FFF70A 07FEF0011 clr OSSEMA+1 |
00FFF70D 020F9F bra swi_rout3 |
00FFFAFD 07FEF0011 clr OSSEMA+1 |
00FFFB00 020F9A bra swi_rout3 |
|
;------------------------------------------------------------------------------ |
; DisarmAllBreakpoints, used when entering the monitor. |
;------------------------------------------------------------------------------ |
|
DisarmAllBreakpoints: |
00FFF70F 034036 pshs d,x,y |
00FFF711 18E000000 ldy #0 |
00FFF714 05F clrb |
00FFF715 08E000830 ldx #BreakpointBytes ; x = breakpoint byte table address |
00FFFB02 034036 pshs d,x,y |
00FFFB04 18E000000 ldy #0 |
00FFFB07 05F clrb |
00FFFB08 08E000830 ldx #BreakpointBytes ; x = breakpoint byte table address |
disarm2: |
00FFF718 0C1631 cmpb #numBreakpoints ; safety check |
00FFF71A 024010 bhs disarm1 |
00FFF71C 0F1000811 cmpb NumSetBreakpoints |
00FFF71F 02400B bhs disarm1 |
00FFF721 0A6837 lda b,x ; get memory byte |
00FFF723 0A7B09000820 sta [Breakpoints,y] ; and store it back to memory |
00FFF727 031202 leay 2,y ; increment for next address |
00FFF729 05C incb ; increment to next byte |
00FFF72A 020FEC bra disarm2 ; loop back |
00FFFB0B 0C1A1B cmpb #numBreakpoints ; safety check |
00FFFB0D 024010 bhs disarm1 |
00FFFB0F 0F1000811 cmpb NumSetBreakpoints |
00FFFB12 02400B bhs disarm1 |
00FFFB14 0A6837 lda b,x ; get memory byte |
00FFFB16 0A7B09000820 sta [Breakpoints,y] ; and store it back to memory |
00FFFB1A 031202 leay 2,y ; increment for next address |
00FFFB1C 05C incb ; increment to next byte |
00FFFB1D 020FEC bra disarm2 ; loop back |
disarm1: |
00FFF72C 0350B6 puls d,x,y,pc |
00FFFB1F 0350B6 puls d,x,y,pc |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
ArmAllBreakpoints: |
00FFF72E 034036 pshs d,x,y |
00FFF730 18E000000 ldy #0 |
00FFF733 05F clrb |
00FFF734 08E000830 ldx #BreakpointBytes ; x = breakpoint byte table address |
00FFFB21 034036 pshs d,x,y |
00FFFB23 18E000000 ldy #0 |
00FFFB26 05F clrb |
00FFFB27 08E000830 ldx #BreakpointBytes ; x = breakpoint byte table address |
arm2: |
00FFF737 0F1FFF631 cmpb numBreakpoints ; safety check |
00FFF73A 024010 bhs arm1 |
00FFF73C 0F1000811 cmpb NumSetBreakpoints |
00FFF73F 02400B bhs arm1 |
00FFF741 0A6B09000820 lda [Breakpoints,y] ; load byte at memory address |
00FFF745 0A7B0D sta b,x ; save in table |
00FFF747 031202 leay 2,y ; increment for next address |
00FFF749 05C incb ; increment to next byte |
00FFF74A 020FEB bra arm2 ; loop back |
00FFFB2A 0F1FFFA1B cmpb numBreakpoints ; safety check |
00FFFB2D 024010 bhs arm1 |
00FFFB2F 0F1000811 cmpb NumSetBreakpoints |
00FFFB32 02400B bhs arm1 |
00FFFB34 0A6B09000820 lda [Breakpoints,y] ; load byte at memory address |
00FFFB38 0A7B0D sta b,x ; save in table |
00FFFB3A 031202 leay 2,y ; increment for next address |
00FFFB3C 05C incb ; increment to next byte |
00FFFB3D 020FEB bra arm2 ; loop back |
arm1: |
00FFF74C 0350B6 puls d,x,y,pc |
00FFFB3F 0350B6 puls d,x,y,pc |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
ArmBreakpoint: |
00FFF74E 034036 pshs d,x,y |
00FFF750 0B6000811 lda NumSetBreakpoints ; check if too many breakpoints set |
00FFF753 0B1FFF631 cmpa numBreakpoints |
00FFF756 124FFFB5D lbhs DisplayErr |
00FFFB41 034036 pshs d,x,y |
00FFFB43 0B6000811 lda NumSetBreakpoints ; check if too many breakpoints set |
00FFFB46 0B1FFFA1B cmpa numBreakpoints |
00FFFB49 124FFFA99 lbhs DisplayErr |
*** warning 1: Long branch within short branch range could be optimized |
00FFF759 017FFFA70 lbsr GetHexNumber ; get address parameter |
00FFFB4C 017FFF92B lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF75C 0F6000811 ldb NumSetBreakpoints ; bv= number of set breakpoints |
00FFF75F 1BE000912 ldy mon_numwka+2 ; get address |
00FFF762 0A6A04 lda ,y ; get byte at address |
00FFF764 08E000830 ldx #BreakpointBytes ; and store byte in a table |
00FFF767 0A7A05 sta b,x ; record |
00FFF769 08603F lda #OPC_SWI ; put a SWI instruction in place |
00FFF76B 0A7A04 sta ,y |
00FFF76D 08E000820 ldx #Breakpoints ; also store the address in a table |
00FFF770 058 aslb ; index for 2 byte values |
00FFF771 1AFA05 sty b,x |
00FFF773 054 lsrb ; size back to single byte |
00FFF774 05C incb |
00FFF775 0F7000811 stb NumSetBreakpoints |
00FFF778 0350B6 puls d,x,y,pc |
00FFFB4F 017FFF9A9 lbsr GetHexNumber ; get address parameter |
*** warning 1: Long branch within short branch range could be optimized |
00FFFB52 05D tstb |
00FFFB53 12BFFFA8F lbmi DisplayErr |
*** warning 1: Long branch within short branch range could be optimized |
00FFFB56 0F6000811 ldb NumSetBreakpoints ; bv= number of set breakpoints |
00FFFB59 1BE000912 ldy mon_numwka+2 ; get address |
00FFFB5C 0A6A04 lda ,y ; get byte at address |
00FFFB5E 08E000830 ldx #BreakpointBytes ; and store byte in a table |
00FFFB61 0A7A05 sta b,x ; record |
00FFFB63 08603F lda #OPC_SWI ; put a SWI instruction in place |
00FFFB65 0A7A04 sta ,y |
00FFFB67 08E000820 ldx #Breakpoints ; also store the address in a table |
00FFFB6A 058 aslb ; index for 2 byte values |
00FFFB6B 1AFA05 sty b,x |
00FFFB6D 054 lsrb ; size back to single byte |
00FFFB6E 05C incb |
00FFFB6F 0F7000811 stb NumSetBreakpoints |
00FFFB72 035036 puls d,x,y |
00FFFB74 016FFF7E5 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
DisarmBreakpoint: |
00FFF77A 034076 pshs d,x,y,u |
00FFF77C 017FFFA4D lbsr GetHexNumber |
00FFFB77 034076 pshs d,x,y,u |
00FFFB79 017FFF8FE lbsr ignBlanks |
*** warning 1: Long branch within short branch range could be optimized |
00FFF77F 05F clrb |
00FFF780 05F clrb |
00FFF781 01F001 tfr d,x ; x = zero too |
00FFFB7C 017FFF97C lbsr GetHexNumber |
*** warning 1: Long branch within short branch range could be optimized |
00FFFB7F 05D tstb |
00FFFB80 12BFFF7D9 lbmi Monitor |
*** warning 1: Long branch within short branch range could be optimized |
00FFFB83 05F clrb |
00FFFB84 05F clrb |
00FFFB85 01F001 tfr d,x ; x = zero too |
disarm6: |
00FFF783 0F1FFF631 cmpb numBreakpoints ; no more than this many may be set |
00FFF786 024041 bhs disarm4 |
00FFF788 0F1000811 cmpb NumSetBreakpoints ; number actually set |
00FFF78B 02403C bhs disarm4 |
00FFF78D 1AE809000820 ldy Breakpoints,x ; y = breakpoint address |
00FFF791 1BC000912 cmpy mon_numwka+2 ; is it the one we want? |
00FFF794 02602E bne disarm3 ; if not, go increment to next |
00FFF796 0BE000912 ldx mon_numwka+2 ; x = memory address |
00FFF799 18E000830 ldy #BreakpointBytes |
00FFF79C 0A6A0D lda b,y ; get saved byte from table |
00FFF79E 0A7804 sta ,x ; set the byte at the memory address |
00FFFB87 0F1FFFA1B cmpb numBreakpoints ; no more than this many may be set |
00FFFB8A 024041 bhs disarm4 |
00FFFB8C 0F1000811 cmpb NumSetBreakpoints ; number actually set |
00FFFB8F 02403C bhs disarm4 |
00FFFB91 1AE809000820 ldy Breakpoints,x ; y = breakpoint address |
00FFFB95 1BC000912 cmpy mon_numwka+2 ; is it the one we want? |
00FFFB98 02602E bne disarm3 ; if not, go increment to next |
00FFFB9A 0BE000912 ldx mon_numwka+2 ; x = memory address |
00FFFB9D 18E000830 ldy #BreakpointBytes |
00FFFBA0 0A6A0D lda b,y ; get saved byte from table |
00FFFBA2 0A7804 sta ,x ; set the byte at the memory address |
; compress breakpoint table by removing breakpoint |
00FFF7A0 07A000811 dec NumSetBreakpoints ; set the new number of set breakpoints |
00FFF7A3 034004 pshs b ; save the position we're removing from |
00FFFBA4 07A000811 dec NumSetBreakpoints ; set the new number of set breakpoints |
00FFFBA7 034004 pshs b ; save the position we're removing from |
disarm7: |
00FFF7A5 05C incb ; set index for next byte |
00FFF7A6 0A6A05 lda b,y ; get byte |
00FFF7A8 05A decb ; and store it back |
00FFF7A9 0A7A05 sta b,y |
00FFF7AB 05C incb ; move to next position |
00FFF7AC 0F1FFF631 cmpb numBreakpoints ; hit end of table? |
00FFF7AF 025FF4 blo disarm7 |
00FFF7B1 035004 puls b ; get back position |
00FFF7B3 058 aslb ; times two for word index |
00FFF7B4 04F clra |
00FFF7B5 01F002 tfr d,y |
00FFF7B7 054 lsrb ; back to byte index value |
00FFFBA9 05C incb ; set index for next byte |
00FFFBAA 0A6A05 lda b,y ; get byte |
00FFFBAC 05A decb ; and store it back |
00FFFBAD 0A7A05 sta b,y |
00FFFBAF 05C incb ; move to next position |
00FFFBB0 0F1FFFA1B cmpb numBreakpoints ; hit end of table? |
00FFFBB3 025FF4 blo disarm7 |
00FFFBB5 035004 puls b ; get back position |
00FFFBB7 058 aslb ; times two for word index |
00FFFBB8 04F clra |
00FFFBB9 01F002 tfr d,y |
00FFFBBB 054 lsrb ; back to byte index value |
disarm8: |
00FFF7B8 0EE202 ldu 2,y ; get next breakpoint address |
00FFF7BA 0EFA01 stu ,y++ ; store in current pos, increment |
00FFF7BC 05C incb ; increment count |
00FFF7BD 0F1FFF631 cmpb numBreakpoints ; hit end of table? |
00FFF7C0 025FF6 blo disarm8 |
00FFF7C2 0350F6 puls d,x,y,u,pc |
00FFFBBC 0EE202 ldu 2,y ; get next breakpoint address |
00FFFBBE 0EFA01 stu ,y++ ; store in current pos, increment |
00FFFBC0 05C incb ; increment count |
00FFFBC1 0F1FFFA1B cmpb numBreakpoints ; hit end of table? |
00FFFBC4 025FF6 blo disarm8 |
00FFFBC6 0350F6 puls d,x,y,u,pc |
disarm3: |
00FFF7C4 030002 leax 2,x |
00FFF7C6 05C incb |
00FFF7C7 020FBA bra disarm6 |
00FFFBC8 030002 leax 2,x |
00FFFBCA 05C incb |
00FFFBCB 020FBA bra disarm6 |
disarm4: |
00FFF7C9 0350F6 puls d,x,y,u,pc |
00FFFBCD 035076 puls d,x,y,u |
00FFFBCF 016FFF78A lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
|
ListBreakpoints: |
00FFFBD2 034016 pshs d,x |
00FFFBD4 03F swi |
00FFFBD5 003 fcb MF_CRLF |
00FFFBD6 08E000000 ldx #0 |
00FFFBD9 0C6000 ldb #0 |
lbrk1: |
00FFFBDB 0F1FFFA1B cmpb numBreakpoints |
00FFFBDE 024016 bhs lbrk2 |
00FFFBE0 0F1000811 cmpb NumSetBreakpoints |
00FFFBE3 024011 bhs lbrk2 |
00FFFBE5 0EC809000820 ldd Breakpoints,x |
00FFFBE9 030002 leax 2,x |
00FFFBEB 05C incb |
00FFFBEC 034004 pshs b |
00FFFBEE 03F swi |
00FFFBEF 006 fcb MF_DisplayWordAsHex |
00FFFBF0 03F swi |
00FFFBF1 003 fcb MF_CRLF |
00FFFBF2 035004 puls b |
00FFFBF4 020FE5 bra lbrk1 |
lbrk2: |
00FFFBF6 035016 puls d,x |
00FFFBF8 016FFF761 lbra Monitor |
*** warning 1: Long branch within short branch range could be optimized |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
swi3_rout: |
00FFF7CB 01A010 sei |
00FFF7CD 0A6E04 lda ,s |
00FFF7CF 0B700090F sta mon_CCRSAVE |
00FFF7D2 0EC601 ldd 1,s |
00FFF7D4 0FD000900 std mon_DSAVE |
00FFF7D7 0E6603 ldb 3,s |
00FFF7D9 0F700090E stb mon_DPRSAVE |
00FFF7DC 0EC604 ldd 4,s |
00FFF7DE 0FD000902 std mon_XSAVE |
00FFF7E1 0EC606 ldd 6,s |
00FFF7E3 0FD000904 std mon_YSAVE |
00FFF7E6 0EC608 ldd 8,s |
00FFF7E8 0FD000906 std mon_USAVE |
00FFF7EB 1FF000908 sts mon_SSAVE |
00FFF7EE 0EC60B ldd 11,s |
00FFF7F0 0FD00090A std mon_PCSAVE |
00FFF7F3 1FF000908 sts mon_SSAVE |
00FFF7F6 1CE003FFF lds #$3FFF |
00FFF7F9 0CCFFF803 ldd #swi3_exit |
00FFF7FC 034006 pshs d |
00FFF7FE 01C0EF cli |
00FFF800 07EFFF54A jmp DumpRegs |
00FFFBFB 01A010 sei |
00FFFBFD 0A6E04 lda ,s |
00FFFBFF 0B700090F sta mon_CCRSAVE |
00FFFC02 0EC601 ldd 1,s |
00FFFC04 0FD000900 std mon_DSAVE |
00FFFC07 0E6603 ldb 3,s |
00FFFC09 0F700090E stb mon_DPRSAVE |
00FFFC0C 0EC604 ldd 4,s |
00FFFC0E 0FD000902 std mon_XSAVE |
00FFFC11 0EC606 ldd 6,s |
00FFFC13 0FD000904 std mon_YSAVE |
00FFFC16 0EC608 ldd 8,s |
00FFFC18 0FD000906 std mon_USAVE |
00FFFC1B 1FF000908 sts mon_SSAVE |
00FFFC1E 0EC60B ldd 11,s |
00FFFC20 0FD00090A std mon_PCSAVE |
00FFFC23 1FF000908 sts mon_SSAVE |
00FFFC26 1CE003FFF lds #$3FFF |
00FFFC29 0CCFFFC33 ldd #swi3_exit |
00FFFC2C 034006 pshs d |
00FFFC2E 01C0EF cli |
00FFFC30 07EFFF899 jmp DumpRegs |
swi3_exit: |
00FFF803 1FE000908 lds mon_SSAVE |
00FFF806 03B rti |
00FFFC33 1FE000908 lds mon_SSAVE |
00FFFC36 03B rti |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
firq_rout: |
00FFF807 03B rti |
00FFFC37 03B rti |
|
irq_rout: |
00FFFC38 04F clra |
00FFFC39 01F08B tfr a,dpr |
setdp $000 |
; lbsr SerialIRQ ; check for recieved character |
00FFF808 017FFEC85 lbsr TimerIRQ |
00FFFC3B 017FFE855 lbsr TimerIRQ |
*** warning 1: Long branch within short branch range could be optimized |
|
; Reset the edge sense circuit in the PIC |
; lda #31 ; Timer is IRQ #31 |
; sta IrqSource ; stuff a byte indicating the IRQ source for PEEK() |
; sta PIC+16 ; register 16 is edge sense reset reg |
; lda VIA+VIA_IFR |
; bpl notTimerIRQ2 |
; bita #$800 |
; beq notTimerIRQ2 |
; clr VIA+VIA_T3LL |
; clr VIA+VIA_T3LH |
; inc $E00037 ; update timer IRQ screen flag |
;notTimerIRQ2: |
00FFFC3E 0B6FFC014 lda IrqBase ; get the IRQ flag byte |
00FFFC41 044 lsra |
00FFFC42 0BAFFC014 ora IrqBase |
00FFFC45 084FE0 anda #$FE0 |
00FFFC47 0B7FFC014 sta IrqBase |
|
00FFF80B 0B6FFC014 lda IrqBase ; get the IRQ flag byte |
00FFF80E 044 lsra |
00FFF80F 0BAFFC014 ora IrqBase |
00FFF812 084FE0 anda #$FE0 |
00FFF814 0B7FFC014 sta IrqBase |
|
; inc TEXTSCR+54 ; update IRQ live indicator on screen |
; inc TEXTSCR+$2000+54 |
|
; flash the cursor |
; only bother to flash the cursor for the task with the IO focus. |
; lda COREID |
; cmpa IOFocusID |
; bne tr1a |
; lda CursorFlash ; test if we want a flashing cursor |
; beq tr1a |
; lbsr CalcScreenLoc ; compute cursor location in memory |
; tfr d,y |
; lda $2000,y ; get color code $2000 higher in memory |
; ldb IRQFlag ; get counter |
; lsrb |
; lsra |
; lsra |
; lsra |
; lsra |
; lsrb |
; rola |
; lsrb |
; rola |
; lsrb |
; rola |
; lsrb |
; rola |
; sta $E00000,y ; store the color code back to memory |
00FFFC4A 0150B6FFFFFFFE0 lda COREID |
00FFFC4F 0B1FFC010 cmpa IOFocusID |
00FFFC52 02600D bne tr1a |
00FFFC54 096114 lda CursorFlash ; test if we want a flashing cursor |
00FFFC56 027009 beq tr1a |
00FFFC58 017FFE69A lbsr CalcScreenLoc ; compute cursor location in memory |
*** warning 1: Long branch within short branch range could be optimized |
00FFFC5B 01F002 tfr d,y |
00FFFC5D 06CA09002000 inc $2000,y ; get color code $2000 higher in memory |
tr1a: |
00FFF817 03B rti |
00FFFC61 03B rti |
|
;------------------------------------------------------------------------------ |
;------------------------------------------------------------------------------ |
nmi_rout: |
00FFF818 0150F6FFFFFFFE0 ldb COREID |
00FFF81D 086049 lda #'I' |
00FFF81F 08EE00028 ldx #TEXTSCR+40 |
00FFF822 0A7807 sta b,x |
00FFFC62 0150F6FFFFFFFE0 ldb COREID |
00FFFC67 086049 lda #'I' |
00FFFC69 08EE00028 ldx #TEXTSCR+40 |
00FFFC6C 0A7A0D sta b,x |
rti_insn: |
00FFF824 03B rti |
00FFFC6E 03B rti |
|
; Special Register Area |
org $FFFFE0 |
4467,35 → 5211,36
; Interrupt vector table |
|
org $FFFFF0 |
00FFFFF0 FFF824 fcw rti_insn ; reserved |
00FFFFF2 FFF7CB fcw swi3_rout ; SWI3 |
00FFFFF4 FFF824 fcw rti_insn ; SWI2 |
00FFFFF6 FFF807 fcw firq_rout ; FIRQ |
00FFFFF8 FFF808 fcw irq_rout ; IRQ |
00FFFFFA FFF65B fcw swi_rout ; SWI |
00FFFFFC FFF818 fcw nmi_rout ; NMI |
00FFFFF0 FFFC6E fcw rti_insn ; reserved |
00FFFFF2 FFFBFB fcw swi3_rout ; SWI3 |
00FFFFF4 FFFC6E fcw rti_insn ; SWI2 |
00FFFFF6 FFFC37 fcw firq_rout ; FIRQ |
00FFFFF8 FFFC38 fcw irq_rout ; IRQ |
00FFFFFA FFFA49 fcw swi_rout ; SWI |
00FFFFFC FFFC62 fcw nmi_rout ; NMI |
00FFFFFE FFE023 fcw start ; RST |
|
66 warning(s) in pass 2. |
112 warning(s) in pass 2. |
|
SYMBOL TABLE |
ABD1 02 00FFF2AC ABD2 02 00FFF2B3 ACIA 00 FFE30100 ACIA_CMD 00 00000002 |
ACIA_CTRL 00 00000003 ACIA_CTRL2 00 0000000B ACIA_RX 00 00000000 ACIA_STAT 00 00000001 |
ACIA_TX 00 00000000 ARM1 02 00FFF74C ARM2 02 00FFF737 ARMALLBREAKPOINTS 02 00FFF72E |
ARMBREAKPOINT 02 00FFF74E ASCIITOBINDIGIT 02 00FFF2A6 ASCIITODECDIGIT 02 00FFF298 ASCIITOHEXNYBBLE 02 00FFF270 |
ASMBUF 00 00000160 BIOS_SCREENS 00 17000000 BLANKLINE 02 00FFE280 BLKCPYDST 00 00000020 |
BLKCPYSRC 00 0000001C BLNKLN1 02 00FFE293 BOOTPG 02 00FFF62E BOOT_STACK 02 00FFF62F |
BREAKPOINTBYTES 00 00000830 BREAKPOINTFLAG 00 00000810 BREAKPOINTS 00 00000820 CALCSCREENLOC 02 00FFE2F2 |
CHARCOLOR 00 00000112 CHARINVEC 00 00000804 CHAROUTVEC 00 00000800 CHECKPOINT 02 00FFE13D |
CLEARSCREEN 02 00FFE239 CLEARSCREENJMP 02 00FFD300 CMDPROMPT 02 00FFF009 CMDPROMPTJI 00 00000808 |
CMDTABLE1 02 00FFEFB2 CMDTABLE2 02 00FFEFE3 COLORCODELOCATION 00 00000014 COLS 00 00000040 |
COPYSCREENTOVIRTUALSCREEN 02 00FFE209 COPYVIRTUALSCREENTOSCREEN 02 00FFE1D2 COREID 00 FFFFFFE0 CR 00 0000000D |
CRLF 02 00FFD0D2 CRLF1 02 00FFD0D2 CRLFST 02 00FFE422 CS1 02 00FFE246 |
CS2 02 00FFE25D CS2V1 02 00FFE215 CS3 02 00FFE263 CSL1 02 00FFE311 |
ABD1 02 00FFF5DB ABD2 02 00FFF5E2 ACIA 00 FFE30100 ACIA_CMD 00 00000002 |
ACIA_CTRL 00 00000003 ACIA_CTRL2 00 0000000B ACIA_IRQS 00 00000004 ACIA_RX 00 00000000 |
ACIA_STAT 00 00000001 ACIA_TX 00 00000000 ACK 00 00000006 ARM1 02 00FFFB3F |
ARM2 02 00FFFB2A ARMALLBREAKPOINTS 02 00FFFB21 ARMBREAKPOINT 02 00FFFB41 ASCIITOBINDIGIT 02 00FFF5D5 |
ASCIITODECDIGIT 02 00FFF5C7 ASCIITOHEXNYBBLE 02 00FFF59F ASMBUF 00 00000160 BIOS_SCREENS 00 17000000 |
BLANKLINE 02 00FFE283 BLKCPYDST 00 00000020 BLKCPYSRC 00 0000001C BLNKLN1 02 00FFE296 |
BOOTPG 02 00FFFA18 BOOT_STACK 02 00FFFA19 BREAKPOINTBYTES 00 00000830 BREAKPOINTFLAG 00 00000810 |
BREAKPOINTS 00 00000820 BS 00 00000008 CALCSCREENLOC 02 00FFE2F5 CAN 00 00000018 |
CHARCOLOR 00 00000112 CHARINVEC 00 00000804 CHAROUTVEC 00 00000800 CHECKPOINT 02 00FFE140 |
CLEARSCREEN 02 00FFE23C CLEARSCREENJMP 02 00FFD300 CMDPROMPT 02 00FFF32C CMDPROMPTJI 00 00000808 |
CMDTABLE1 02 00FFF29A CMDTABLE2 02 00FFF2EC COLORCODELOCATION 00 00000014 COLS 00 00000040 |
COPYSCREENTOVIRTUALSCREEN 02 00FFE20C COPYVIRTUALSCREENTOSCREEN 02 00FFE1D5 COREID 00 FFFFFFE0 CR 00 0000000D |
CRLF 02 00FFD0D2 CRLF1 02 00FFD0D2 CRLFST 02 00FFE425 CS1 02 00FFE249 |
CS2 02 00FFE260 CS2V1 02 00FFE218 CS3 02 00FFE266 CSL1 02 00FFE314 |
CTRLC 00 00000003 CTRLH 00 00000008 CTRLI 00 00000009 CTRLJ 00 0000000A |
CTRLK 00 0000000B CTRLM 00 0000000D CTRLS 00 00000013 CTRLT 00 00000014 |
CTRLX 00 00000018 CTRLZ 00 0000001A CURSORCOL 00 00000111 CURSORFLASH 00 00000114 |
CURSORROW 00 00000110 CV2S1 02 00FFE1E7 DBGCHECKFORKEY 02 00FFEA90 DBGK1 02 00FFEACB |
CURSORROW 00 00000110 CV2S1 02 00FFE1EA DBGCHECKFORKEY 02 00FFEA90 DBGK1 02 00FFEACB |
DBGK10 02 00FFEB30 DBGK11 02 00FFEB89 DBGK12 02 00FFEB8F DBGK13 02 00FFEB9B |
DBGK14 02 00FFEBAB DBGK15 02 00FFEBBA DBGK16 02 00FFEBC5 DBGK17 02 00FFEBCE |
DBGK18 02 00FFEBD1 DBGK2 02 00FFEA96 DBGK20 02 00FFEAB8 DBGK22 02 00FFEAD4 |
4502,127 → 5247,147
DBGK23 02 00FFEAE5 DBGK24 02 00FFEAC6 DBGK3 02 00FFEAE8 DBGK4 02 00FFEAF4 |
DBGK5 02 00FFEB00 DBGK7 02 00FFEB10 DBGK8 02 00FFEB16 DBGK9 02 00FFEB2A |
DBGKNOTALT 02 00FFEB93 DBGKNOTCAPSLOCK 02 00FFEB62 DBGKNOTCTRL 02 00FFEB1A DBGKNOTNUMLOCK 02 00FFEB4B |
DBGKNOTRSHIFT 02 00FFEB34 DBGKNOTSCROLLLOCK 02 00FFEB79 DCCR 02 00FFE329 DCLF 02 00FFE3B3 |
DCX10 02 00FFE363 DCX11 02 00FFE373 DCX12 02 00FFE36F DCX13 02 00FFE37F |
DCX14 02 00FFE326 DCX3 02 00FFE3A1 DCX4 02 00FFE3B5 DCX5 02 00FFE390 |
DCX6 02 00FFE33A DCX7 02 00FFE336 DCX8 02 00FFE347 DCX9 02 00FFE354 |
DELAY3S 02 00FFE1B5 DFL1 02 00FFF621 DFL2 02 00FFF60E DISARM1 02 00FFF72C |
DISARM2 02 00FFF718 DISARM3 02 00FFF7C4 DISARM4 02 00FFF7C9 DISARM6 02 00FFF783 |
DISARM7 02 00FFF7A5 DISARM8 02 00FFF7B8 DISARMALLBREAKPOINTS 02 00FFF70F DISARMBREAKPOINT 02 00FFF77A |
DISPBYTEASHEX 02 00FFE437 DISPDWORDASHEX 02 00FFE425 DISPLAYCHAR 02 00FFE319 DISPLAYERR 02 00FFF2B6 |
DISPLAYSTRING 02 00FFE3DA DISPLAYSTRINGCRLF 02 00FFE3FA DISPLAYSTRINGDX 02 00FFF2BF DISPNYB 02 00FFE44F |
DISPNYB1 02 00FFE45E DISPWORDASHEX 02 00FFE42E DLY3S1 02 00FFE1B8 DLY3S2 02 00FFE1BC |
DMPM1 02 00FFF4A1 DMPM2 02 00FFF48C DMPM3 02 00FFF4DA DMPM4 02 00FFF4CC |
DMPM5 02 00FFF4C4 DRAM_BASE 00 10000000 DSPJ1B 02 00FFE3EC DSPJ2 02 00FFE3E7 |
DSRETB 02 00FFE3F5 DUMPIOFOCUSLIST 02 00FFF60B DUMPMEMORY 02 00FFF484 DUMPREGS 02 00FFF54A |
DUMRTS 02 00FFE022 EDITMEM1 02 00FFF4FE EDITMEM2 02 00FFF4E9 EDITMEM3 02 00FFF51D |
EDITMEM4 02 00FFF508 EDITMEM6 02 00FFF514 EDITMEMORY 02 00FFF4E0 ENDOFWORD 02 00FFF0ED |
FARFLAG 00 0000015F FILLM1 02 00FFF530 FILLM2 02 00FFF540 FILLM3 02 00FFF547 |
FILLMEMORY 02 00FFF520 FIRQ_ROUT 02 00FFF807 FIRST_CORE 00 00000001 FREEMBX 02 00000002 |
FREEMSG 02 00000006 FREETCB 00 0000078A GETBINNUMBER 02 00FFF1FC GETDECNUMBER 02 00FFF223 |
GETHEXNUMBER 02 00FFF1CC GETKEY 02 00FFEA92 GETNUMBER 02 00FFF262 GETRANGE 02 00FFF1A3 |
GETSCREENLOCATION 02 00FFE29A GETTWOPARAMS 02 00FFF182 GRNG1 02 00FFF1BE GSL1 02 00FFE2AC |
GTBIN1 02 00FFF21F GTBIN2 02 00FFF209 GTDC3 02 00FFF2A3 GTDEC1 02 00FFF25E |
GTDEC2 02 00FFF230 GTHX3 02 00FFF295 GTHX5 02 00FFF27B GTHX6 02 00FFF288 |
GTHXN1 02 00FFF1F8 GTHXN2 02 00FFF1D9 HC1 02 00FFE2CA HELPMSG 02 00FFF2CF |
HEX2 02 00FFD2CE HEX4 02 00FFD2D2 HOMECURSOR 02 00FFE2B0 HOMECURSORJMP 02 00FFD308 |
I2CW1 02 00FFE4BF I2CWR1 02 00FFE4EC I2C_CMD 00 00000004 I2C_CTRL 00 00000002 |
I2C_INIT 02 00FFE4B3 I2C_PREH 00 00000001 I2C_PREL 00 00000000 I2C_RXR 00 00000003 |
I2C_STAT 00 00000004 I2C_TXR 00 00000003 I2C_WAIT_RX_NACK 02 00FFE4EA I2C_WAIT_TIP 02 00FFE4BD |
I2C_WR_CMD 02 00FFE4C7 I2C_XMIT1 02 00FFE4D0 ICC1 02 00FFE3D6 ICC2 02 00FFE3D8 |
ICR1 02 00FFE3C8 IGNBLANKS 02 00FFF14B IGNBLANKS1 02 00FFF14B INCCURSORPOS 02 00FFE3B7 |
INCCURSORROW 02 00FFE3C6 INCH 02 00FFEEA9 INCH1 02 00FFEEBE INCH2 02 00FFEEAB |
INCHE 02 00FFEEC7 INCHEK 02 00FFEECB INCHEK1 02 00FFEEE0 INCHEK2 02 00FFEEDD |
INCHEK3 02 00FFEED4 INIT 02 00FFE0A8 INIT1 02 00FFE0B0 INIT2 02 00FFE0F8 |
INITSERIAL 02 00FFEBEF IOFOCUSID 00 00FFC010 IOFOCUSLIST 00 00FFC000 IOFOCUSNDX 00 00000100 |
IRQBASE 00 00FFC014 IRQFLAG 00 00FFC012 IRQSOURCE 00 00FFC011 IRQ_ROUT 02 00FFF808 |
JMPVEC 00 00000928 JTC_EXIT 02 00FFF5D0 JUMP_TO_CODE 02 00FFF595 KBDBUFFULL 02 00FFEA8D |
KBDFIFO 00 00000040 KBDFIFOALIAS 00 00C00040 KBDHEADRCV 00 00000127 KBDI0002 02 00FFE9C9 |
KBDI0004 02 00FFEA0E KBDITRYAGAIN 02 00FFEA02 KBDRCVCOUNT 02 00FFEA3D KBDTAILRCV 00 00000128 |
KBGS1 02 00FFE978 KBGS2 02 00FFE970 KBGS3 02 00FFE961 KEYBD 00 FFE30400 |
KEYBDACK 00 FFFFCC00 KEYBDBAD 00 FFFFCB00 KEYBDBLOCK 00 00000126 KEYBDBUFFER 00 FFFFC000 |
KEYBDCHECKFORKEYDIRECT 02 00FFEEA7 KEYBDCLOSE 02 00FFEBEB KEYBDCLR 00 FFE30402 KEYBDCONTROLCODES 02 00FFE800 |
KEYBDECHO 00 FFFFCA00 KEYBDEXTENDEDCODES 02 00FFE880 KEYBDGETID 02 00FFE99C KEYBDGETSCANCODE 02 00FFE97D |
KEYBDGETSTATUS 02 00FFE961 KEYBDHEAD 00 FFFFC800 KEYBDID 00 00000124 KEYBDINIT 02 00FFE9C0 |
KEYBDIRQ 02 00FFEA4F KEYBDLOCKS 00 FFFFCD00 KEYBDOPEN 02 00FFEBEA KEYBDREAD 02 00FFEBEC |
KEYBDRECVBYTE 02 00FFE900 KEYBDSEEK 02 00FFEBEE KEYBDSENDBYTE 02 00FFE919 KEYBDSETLED 02 00FFE989 |
KEYBDTAIL 00 FFFFC900 KEYBDWAITTX 02 00FFE91F KEYBDWRITE 02 00FFEBED KEYLED 00 00000122 |
KEYSTATE1 00 00000120 KEYSTATE2 00 00000121 KGID1 02 00FFE9B9 KGNOTKBD 02 00FFE9BC |
KRB3 02 00FFE905 KRB4 02 00FFE915 KRCXIT 02 00FFEA4E KWT1 02 00FFE924 |
KWT2 02 00FFE935 LEDS 00 FFE60001 LEDXIT 02 00FFEA22 LETTER 02 00FFD2C1 |
LF 00 0000000A MAX_TASKNO 00 0000003F MF_CRLF 00 00000003 MF_DISPLAYBYTEASHEX 00 00000005 |
MF_DISPLAYSTRING 00 00000004 MF_DISPLAYWORDASHEX 00 00000006 MF_GETNUMBER 00 0000000C MF_GETRANGE 00 0000000B |
MF_INCH 00 00000001 MF_MONITOR 00 00000000 MF_OSCALL 00 0000000A MF_OUTCH 00 00000002 |
MF_RANDOM 00 00000009 MF_SHOWSPRITES 00 00000007 MF_SRAND 00 00000008 MON1 02 00FFF08E |
MONARMBREAKPOINT 02 00FFF13A MONDISARMBREAKPOINT 02 00FFF145 MONERRVEC 00 0000080C MONGETCH 02 00FFF12E |
MONGETNONSPACE 02 00FFF133 MONITOR 02 00FFF039 MON_CCRSAVE 00 0000090F MON_DPRSAVE 00 0000090E |
DBGKNOTRSHIFT 02 00FFEB34 DBGKNOTSCROLLLOCK 02 00FFEB79 DCCR 02 00FFE32C DCLF 02 00FFE3B6 |
DCX10 02 00FFE366 DCX11 02 00FFE376 DCX12 02 00FFE372 DCX13 02 00FFE382 |
DCX14 02 00FFE329 DCX3 02 00FFE3A4 DCX4 02 00FFE3B8 DCX5 02 00FFE393 |
DCX6 02 00FFE33D DCX7 02 00FFE339 DCX8 02 00FFE34A DCX9 02 00FFE357 |
DEL 00 0000007F DELAY3S 02 00FFE1B8 DFL1 02 00FFFA0B DFL2 02 00FFF9F8 |
DISARM1 02 00FFFB1F DISARM2 02 00FFFB0B DISARM3 02 00FFFBC8 DISARM4 02 00FFFBCD |
DISARM6 02 00FFFB87 DISARM7 02 00FFFBA9 DISARM8 02 00FFFBBC DISARMALLBREAKPOINTS 02 00FFFB02 |
DISARMBREAKPOINT 02 00FFFB77 DISPBYTEASHEX 02 00FFE43A DISPDWORDASHEX 02 00FFE428 DISPLAYCHAR 02 00FFE31C |
DISPLAYERR 02 00FFF5E5 DISPLAYSTRING 02 00FFE3DD DISPLAYSTRINGCRLF 02 00FFE3FD DISPLAYSTRINGDX 02 00FFF5EE |
DISPNYB 02 00FFE452 DISPNYB1 02 00FFE461 DISPWORDASHEX 02 00FFE431 DLY3S1 02 00FFE1BB |
DLY3S2 02 00FFE1BF DMPM1 02 00FFF7ED DMPM2 02 00FFF7D8 DMPM3 02 00FFF826 |
DMPM4 02 00FFF818 DMPM5 02 00FFF810 DRAM_BASE 00 10000000 DSPJ1B 02 00FFE3EF |
DSPJ2 02 00FFE3EA DSRETB 02 00FFE3F8 DUMPIOFOCUSLIST 02 00FFF9F5 DUMPMEMORY 02 00FFF7D0 |
DUMPREGS 02 00FFF899 DUMRTS 02 00FFE022 EDITMEM1 02 00FFF84D EDITMEM2 02 00FFF838 |
EDITMEM3 02 00FFF86C EDITMEM4 02 00FFF857 EDITMEM6 02 00FFF863 EDITMEMORY 02 00FFF82C |
ENDOFWORD 02 00FFF41C EOT 00 00000004 ETB 00 00000017 FARFLAG 00 0000015F |
FILLM1 02 00FFF87F FILLM2 02 00FFF88F FILLM3 02 00FFF896 FILLMEMORY 02 00FFF86F |
FIRQ_ROUT 02 00FFFC37 FIRST_CORE 00 00000001 FREEMBX 02 00000002 FREEMSG 02 00000006 |
FREETCB 00 0000078A GETBINNUMBER 02 00FFF52B GETDECNUMBER 02 00FFF552 GETHEXNUMBER 02 00FFF4FB |
GETKEY 02 00FFEA92 GETNUMBER 02 00FFF591 GETRANGE 02 00FFF4D2 GETSCREENLOCATION 02 00FFE29D |
GETTWOPARAMS 02 00FFF4B1 GRNG1 02 00FFF4ED GSL1 02 00FFE2AF GTBIN1 02 00FFF54E |
GTBIN2 02 00FFF538 GTDC3 02 00FFF5D2 GTDEC1 02 00FFF58D GTDEC2 02 00FFF55F |
GTHX3 02 00FFF5C4 GTHX5 02 00FFF5AA GTHX6 02 00FFF5B7 GTHXN1 02 00FFF527 |
GTHXN2 02 00FFF508 HC1 02 00FFE2CD HELPMSG 02 00FFF5FE HEX2 02 00FFD2CE |
HEX4 02 00FFD2D2 HOMECURSOR 02 00FFE2B3 HOMECURSORJMP 02 00FFD308 I2CW1 02 00FFE4EF |
I2CWR1 02 00FFE51C I2C_CMD 00 00000004 I2C_CTRL 00 00000002 I2C_INIT 02 00FFE4E3 |
I2C_PREH 00 00000001 I2C_PREL 00 00000000 I2C_RXR 00 00000003 I2C_STAT 00 00000004 |
I2C_TXR 00 00000003 I2C_WAIT_RX_NACK 02 00FFE51A I2C_WAIT_TIP 02 00FFE4ED I2C_WR_CMD 02 00FFE4F7 |
I2C_XMIT1 02 00FFE500 ICC1 02 00FFE3D9 ICC2 02 00FFE3DB ICR1 02 00FFE3CB |
IGNBLANKS 02 00FFF47A IGNBLANKS1 02 00FFF47A INCCURSORPOS 02 00FFE3BA INCCURSORROW 02 00FFE3C9 |
INCH 02 00FFF191 INCH1 02 00FFF1A6 INCH2 02 00FFF193 INCHE 02 00FFF1AF |
INCHEK 02 00FFF1B3 INCHEK1 02 00FFF1C8 INCHEK2 02 00FFF1C5 INCHEK3 02 00FFF1BC |
INIT 02 00FFE0A8 INIT1 02 00FFE0B0 INIT2 02 00FFE0FB INITSERIAL 02 00FFEBEF |
IOFOCUSID 00 00FFC010 IOFOCUSLIST 00 00FFC000 IOFOCUSNDX 00 00000100 IRQBASE 00 00FFC014 |
IRQFLAG 00 00FFC012 IRQSOURCE 00 00FFC011 IRQ_ROUT 02 00FFFC38 JMPVEC 00 00000928 |
JTC_EXIT 02 00FFF9BA JUMP_TO_CODE 02 00FFF980 KBDBUFFULL 02 00FFEA8D KBDFIFO 00 00000040 |
KBDFIFOALIAS 00 00C00040 KBDHEADRCV 00 00000127 KBDI0002 02 00FFE9C9 KBDI0004 02 00FFEA0E |
KBDITRYAGAIN 02 00FFEA02 KBDRCVCOUNT 02 00FFEA3D KBDTAILRCV 00 00000128 KBGS1 02 00FFE978 |
KBGS2 02 00FFE970 KBGS3 02 00FFE961 KEYBD 00 FFE30400 KEYBDACK 00 FFFFCC00 |
KEYBDBAD 00 FFFFCB00 KEYBDBLOCK 00 00000126 KEYBDBUFFER 00 FFFFC000 KEYBDCHECKFORKEYDIRECT 02 00FFF18F |
KEYBDCLOSE 02 00FFEBEB KEYBDCLR 00 FFE30402 KEYBDCONTROLCODES 02 00FFE800 KEYBDECHO 00 FFFFCA00 |
KEYBDEXTENDEDCODES 02 00FFE880 KEYBDGETID 02 00FFE99C KEYBDGETSCANCODE 02 00FFE97D KEYBDGETSTATUS 02 00FFE961 |
KEYBDHEAD 00 FFFFC800 KEYBDID 00 00000124 KEYBDINIT 02 00FFE9C0 KEYBDIRQ 02 00FFEA4F |
KEYBDLOCKS 00 FFFFCD00 KEYBDOPEN 02 00FFEBEA KEYBDREAD 02 00FFEBEC KEYBDRECVBYTE 02 00FFE900 |
KEYBDSEEK 02 00FFEBEE KEYBDSENDBYTE 02 00FFE919 KEYBDSETLED 02 00FFE989 KEYBDTAIL 00 FFFFC900 |
KEYBDWAITTX 02 00FFE91F KEYBDWRITE 02 00FFEBED KEYLED 00 00000122 KEYSTATE1 00 00000120 |
KEYSTATE2 00 00000121 KGID1 02 00FFE9B9 KGNOTKBD 02 00FFE9BC KRB3 02 00FFE905 |
KRB4 02 00FFE915 KRCXIT 02 00FFEA4E KWT1 02 00FFE924 KWT2 02 00FFE935 |
LBRK1 02 00FFFBDB LBRK2 02 00FFFBF6 LEDS 00 FFE60001 LEDXIT 02 00FFEA22 |
LETTER 02 00FFD2C1 LF 00 0000000A LISTBREAKPOINTS 02 00FFFBD2 MAX_TASKNO 00 0000003F |
MF_CRLF 00 00000003 MF_DISPLAYBYTEASHEX 00 00000005 MF_DISPLAYSTRING 00 00000004 MF_DISPLAYWORDASHEX 00 00000006 |
MF_GETNUMBER 00 0000000C MF_GETRANGE 00 0000000B MF_INCH 00 00000001 MF_MONITOR 00 00000000 |
MF_OSCALL 00 0000000A MF_OUTCH 00 00000002 MF_RANDOM 00 00000009 MF_SERIALPUTCHAR 00 0000000D |
MF_SHOWSPRITES 00 00000007 MF_SRAND 00 00000008 MILLISECONDS 00 00FFC014 MON1 02 00FFF3BA |
MONARMBREAKPOINT 02 00FFF469 MONDISARMBREAKPOINT 02 00FFF474 MONERRVEC 00 0000080C MONGETCH 02 00FFF45D |
MONGETNONSPACE 02 00FFF462 MONITOR 02 00FFF35C MON_CCRSAVE 00 0000090F MON_DPRSAVE 00 0000090E |
MON_DSAVE 00 00000900 MON_INIT 00 0000092C MON_NUMWKA 00 00000910 MON_PCSAVE 00 0000090A |
MON_R1 00 00000920 MON_R2 00 00000924 MON_RAND 02 00FFEF9D MON_RETFLAG 00 00000930 |
MON_RETTAB 02 00FFF64E MON_ROM_VECS 02 00FFF634 MON_ROM_VECTAB 02 00FFF632 MON_SRAND 02 00FFEF6F |
MON_SRAND1 02 00FFEF72 MON_SSAVE 00 00000908 MON_USAVE 00 00000906 MON_VECTB 00 00000880 |
MON_R1 00 00000920 MON_R2 00 00000924 MON_RAND 02 00FFF285 MON_RETFLAG 00 00000930 |
MON_RETTAB 02 00FFFA3B MON_ROM_VECS 02 00FFFA1F MON_ROM_VECTAB 02 00FFFA1D MON_SRAND 02 00FFF257 |
MON_SRAND1 02 00FFF25A MON_SSAVE 00 00000908 MON_USAVE 00 00000906 MON_VECTB 00 00000880 |
MON_XSAVE 00 00000902 MON_YSAVE 00 00000904 MSCOUNT 00 FFFFFFE4 MSGBADKEYBD 02 00FFEA2E |
MSGERR 02 00FFF2C7 MSGF09STARTING 02 00FFF014 MSGREGHEADINGS 02 00FFF441 MSGS19LOADER 02 00FFEE93 |
MSGSERIALTEST 02 00FFED45 MSGSTARTUP 02 00FFE11C MULTI_SIEVE 02 00FFE153 MULTI_SIEVE1 02 00FFE176 |
MULTI_SIEVE2 02 00FFE172 MULTI_SIEVE3 02 00FFE160 MULTI_SIEVE4 02 00FFE189 NHEX4 02 00FFF47B |
NMAILBOX 02 00000004 NMESERIAL 02 00FFED0E NMIBASE 00 00FFC013 NMI_ROUT 02 00FFF818 |
NMSGBLK 02 00000008 NOTKBDIRQ 02 00FFEA8C NOTRXINT 02 00FFED0D NOTTIMERIRQ 02 00FFE4B2 |
NUMBREAKPOINTS 02 00FFF631 NUMFUNCS 00 0000000E NUMOSFUNCS 00 00000019 NUMSETBREAKPOINTS 00 00000811 |
NXBLANK 02 00FFF47F ONEKEY 02 00FFD1DC OPC_SWI 00 0000003F OSC1 02 00FFF708 |
OSCALLTBL 02 00FFEEF6 OSCX 02 00FFF70A OSSEMA 00 00EF0010 OUTCH 02 00FFEEE1 |
OUTSEMA 00 00EF0000 PARSECMD1 02 00FFF0D8 PCRLF 02 00FFE40E PDATA 02 00FFE41B |
PIC 00 FFE3F000 PICPTR 00 00000028 PRINT 02 00FFE418 PRNG 00 FFE30600 |
PROCESSBREAKPOINT 02 00FFF6C0 PROMPT1 02 00FFF0BB PROMPT2A 02 00FFF10C PROMPT3 02 00FFF0AC |
PROMPTCLEARSCREEN 02 00FFF126 PROMPTHELP 02 00FFF11E PROMPTLN 02 00FFF0A8 PSTRNG 02 00FFE40A |
QNDX0 00 00000780 QNDX1 00 00000782 QNDX2 00 00000784 QNDX3 00 00000786 |
QNDX4 00 00000788 RAMERR 02 00FFD42C RAMERR1 02 00FFD445 RAMTEST 02 00FFD400 |
RAMTEST1 02 00FFD40D RAMTEST3 02 00FFD417 REDIRECT 02 00FFF0F8 RELEASEIOFOCUS 02 00FFEF3F |
REQUESTIOFOCUS 02 00FFEF28 RIOF1 02 00FFEF66 RIOF2 02 00FFEF55 ROMTORAM 02 00FFE143 |
ROMTORAM1 02 00FFE149 ROWS 00 00000020 RTC 00 FFE30500 RTCBUF 00 00007FC0 |
RTCR0001 02 00FFE51A RTCW0001 02 00FFE565 RTC_READ 02 00FFE4F4 RTC_RXERR 02 00FFE543 |
RTC_WRITE 02 00FFE547 RTI_INSN 02 00FFF824 RUNNINGID 00 00FFC013 RUNNINGTCB 06 00000000 |
S19ABORT 00 0000094A S19ADDRESS 00 00000940 S19CLEARADDRESS 02 00FFEDA6 S19GA1 02 00FFEDC4 |
S19GA2 02 00FFEDE0 S19GB1 02 00FFED81 S19GB2 02 00FFEDA2 S19GETADDRESS2 02 00FFEDB3 |
S19GETADDRESS3 02 00FFEDC5 S19GETBYTE 02 00FFED75 S19L2 02 00FFEE90 S19L3 02 00FFEE3F |
S19LNR 02 00FFEE83 S19LOADER 02 00FFEE37 S19NEXTRECORD 02 00FFED58 S19NR1 02 00FFED74 |
S19NR2 02 00FFED68 S19NR3 02 00FFED6F S19PM1 02 00FFEE07 S19PM2 02 00FFEDFD |
S19PM3 02 00FFEDE2 S19PROCESSS1 02 00FFEE0B S19PROCESSS2 02 00FFEE11 S19PROCESSS8 02 00FFEE27 |
S19PROCESSS9 02 00FFEE17 S19PUTMEM 02 00FFEDE1 S19RECLEN 00 00000949 S19RECTYPE 00 00000948 |
S19STARTADDRESS 00 00000944 SCANNEXTWORD 02 00FFF0E2 SCREENCOLOR 00 00000113 SCREENLOCATION 00 00000010 |
SCREENLOCATION2 00 00000018 SCROLLUP 02 00FFE265 SCRUP1 02 00FFE272 SC_ALT 00 00000011 |
SC_C 00 00000021 SC_CAPSLOCK 00 00000058 SC_CTRL 00 00000014 SC_DEL 00 00000071 |
SC_EXTEND 00 000000E0 SC_F12 00 00000007 SC_KEYUP 00 000000F0 SC_NUMLOCK 00 00000077 |
SC_RSHIFT 00 00000059 SC_SCROLLLOCK 00 0000007E SC_T 00 0000002C SC_TAB 00 0000000D |
SC_Z 00 0000001A SEMAABS 00 00001000 SERHEADRCV 00 00000131 SERHEADXMIT 00 00000136 |
SERHZERO 00 00000130 SERIALGETCHAR 02 00FFEC1D SERIALINIT 02 00FFEBEF SERIALIRQ 02 00FFECBB |
SERIALOUTPUTTEST 02 00FFED25 SERIALPEEKCHAR 02 00FFEC4D SERIALPEEKCHARDIRECT 02 00FFEC64 SERIALPUTCHAR 02 00FFEC88 |
SERIALPUTSTRING 02 00FFED15 SERIALRCVCOUNT 02 00FFECA8 SERRCVBUF 00 00BFF000 SERRCVXOFF 00 00000140 |
SERRCVXON 00 00000139 SERTAILRCV 00 00000133 SERTAILXMIT 00 00000138 SERTZERO 00 00000132 |
SETKEYBOARDECHO 02 00FFEEE5 SGC2 02 00FFEC36 SGCNOCHARS 02 00FFEC46 SGCXIT 02 00FFEC49 |
SHIFTEDSCANCODES 02 00FFE700 SHIFTLEFT5 02 00FFE1C7 SHL_NUMWKA 02 00FFF1BF SHOWSPRITES 02 00FFEEEB |
SIEVE 02 00FFE18D SIEVE1 02 00FFE1A5 SIEVE2 02 00FFE1A1 SIEVE3 02 00FFE192 |
SIEVE4 02 00FFE1B4 SINI1 02 00FFEC02 SIRQ0001 02 00FFECCD SIRQNXTBYTE 02 00FFECBB |
SIRQRXFULL 02 00FFED0D SKIPDOLLAR 02 00FFF0CA SKIP_INIT 02 00FFE10A SOTST1 02 00FFED2F |
SPC0001 02 00FFEC8A SPCD0001 02 00FFEC82 SPCNOCHARS 02 00FFEC5F SPCXIT 02 00FFEC62 |
SPRITE_CTRL 00 FFE10000 SPRITE_EN 00 000003C0 SPS2 02 00FFED19 SPSXIT 02 00FFED23 |
SRCXIT 02 00FFECBA ST1 02 00FFE0B5 ST10 02 00FFE118 ST11 02 00FFE060 |
MSGCHECKSUMERR 02 00FFEF19 MSGERR 02 00FFF5F6 MSGF09STARTING 02 00FFF337 MSGREGHEADINGS 02 00FFF78D |
MSGS19LOADER 02 00FFEF05 MSGSERIALTEST 02 00FFED54 MSGSTARTUP 02 00FFE11F MSGXMNOTRANSMITTER 02 00FFF0B2 |
MSGXMTIMEOUT 02 00FFF09E MULTI_SIEVE 02 00FFE156 MULTI_SIEVE1 02 00FFE179 MULTI_SIEVE2 02 00FFE175 |
MULTI_SIEVE3 02 00FFE163 MULTI_SIEVE4 02 00FFE18C NAK 00 00000015 NHEX4 02 00FFF7C7 |
NMAILBOX 02 00000004 NMESERIAL 02 00FFED1D NMIBASE 00 00FFC013 NMI_ROUT 02 00FFFC62 |
NMSGBLK 02 00000008 NOTKBDIRQ 02 00FFEA8C NOTRXINT 02 00FFED1B NOTRXINT1 02 00FFED19 |
NOTSERINT 02 00FFED1B NOTTIMERIRQ 02 00FFE4E2 NUMBREAKPOINTS 02 00FFFA1B NUMFUNCS 00 0000000F |
NUMOSFUNCS 00 00000019 NUMSETBREAKPOINTS 00 00000811 NXBLANK 02 00FFF7CB ONEKEY 02 00FFD1DC |
OPC_SWI 00 0000003F OSC1 02 00FFFAFB OSCALLTBL 02 00FFF1DE OSCX 02 00FFFAFD |
OSSEMA 00 00EF0010 OUTCH 02 00FFF1C9 OUTSEMA 00 00EF0000 PARSECMD1 02 00FFF407 |
PCRLF 02 00FFE411 PDATA 02 00FFE41E PIC 00 FFE3F000 PICPTR 00 00000028 |
PRINT 02 00FFE41B PRNG 00 FFE30600 PROCESSBREAKPOINT 02 00FFFAAE PROMPT1 02 00FFF3EA |
PROMPT2A 02 00FFF43B PROMPT3 02 00FFF3D8 PROMPTCLEARSCREEN 02 00FFF455 PROMPTHELP 02 00FFF44D |
PROMPTLN 02 00FFF3D4 PSTRNG 02 00FFE40D QNDX0 00 00000780 QNDX1 00 00000782 |
QNDX2 00 00000784 QNDX3 00 00000786 QNDX4 00 00000788 RAMERR 02 00FFD42C |
RAMERR1 02 00FFD445 RAMTEST 02 00FFD400 RAMTEST1 02 00FFD40D RAMTEST3 02 00FFD417 |
REDIRECT 02 00FFF427 RELEASEIOFOCUS 02 00FFF227 REQUESTIOFOCUS 02 00FFF210 RIOF1 02 00FFF24E |
RIOF2 02 00FFF23D ROMTORAM 02 00FFE146 ROMTORAM1 02 00FFE14C ROWS 00 00000020 |
RTC 00 FFE30500 RTCBUF 00 00007FC0 RTCR0001 02 00FFE54A RTCW0001 02 00FFE595 |
RTC_READ 02 00FFE524 RTC_RXERR 02 00FFE573 RTC_WRITE 02 00FFE577 RTI_INSN 02 00FFFC6E |
RUNNINGID 00 00FFC013 RUNNINGTCB 06 00000000 S19ABORT 00 0000094A S19ADDCHECK 02 00FFED99 |
S19ADDRESS 00 00000940 S19CHECKSUM 00 0000094B S19CLEARADDRESS 02 00FFEDD4 S19GA1 02 00FFEDF6 |
S19GA2 02 00FFEE18 S19GB1 02 00FFEDAF S19GB2 02 00FFEDD0 S19GETADDRESS2 02 00FFEDE1 |
S19GETADDRESS3 02 00FFEDF7 S19GETBYTE 02 00FFEDA3 S19IC1 02 00FFED79 S19IC2 02 00FFED78 |
S19INPUTCHAR 02 00FFED67 S19L2 02 00FFEF02 S19L3 02 00FFEEAC S19L4 02 00FFEEA1 |
S19LNR 02 00FFEEF5 S19LOADER 02 00FFEE8F S19NEXTRECORD 02 00FFED7F S19NR1 02 00FFED98 |
S19NR2 02 00FFED8C S19NR3 02 00FFED93 S19P11 02 00FFEE5A S19P21 02 00FFEE6D |
S19PM1 02 00FFEE43 S19PM2 02 00FFEE37 S19PM3 02 00FFEE1A S19PROCESSS1 02 00FFEE49 |
S19PROCESSS2 02 00FFEE5C S19PROCESSS8 02 00FFEE7F S19PROCESSS9 02 00FFEE6F S19PUTMEM 02 00FFEE19 |
S19RECLEN 00 00000949 S19RECTYPE 00 00000948 S19SOURCE 00 0000094E S19STARTADDRESS 00 00000944 |
S19SUMMARYCHECKSUM 00 0000094C S19XFERADDRESS 00 00000950 SCANNEXTWORD 02 00FFF411 SCREENCOLOR 00 00000113 |
SCREENDISPLAYCHAR 02 00FFE31F SCREENLOCATION 00 00000010 SCREENLOCATION2 00 00000018 SCROLLUP 02 00FFE268 |
SCRUP1 02 00FFE275 SC_ALT 00 00000011 SC_C 00 00000021 SC_CAPSLOCK 00 00000058 |
SC_CTRL 00 00000014 SC_DEL 00 00000071 SC_EXTEND 00 000000E0 SC_F12 00 00000007 |
SC_KEYUP 00 000000F0 SC_NUMLOCK 00 00000077 SC_RSHIFT 00 00000059 SC_SCROLLLOCK 00 0000007E |
SC_T 00 0000002C SC_TAB 00 0000000D SC_Z 00 0000001A SEMAABS 00 00001000 |
SERHEADRCV 00 00FFC015 SERHEADXMIT 00 00FFC017 SERHZERO 00 00000130 SERIALGETCHAR 02 00FFEC23 |
SERIALINIT 02 00FFEBEF SERIALIRQ 02 00FFECCC SERIALOUTPUTTEST 02 00FFED34 SERIALPEEKCHAR 02 00FFEC55 |
SERIALPEEKCHARDIRECT 02 00FFEC73 SERIALPUTCHAR 02 00FFEC9A SERIALPUTSTRING 02 00FFED24 SERIALRCVCOUNT 02 00FFECBD |
SERRCVBUF 00 00FFB000 SERRCVXOFF 00 00FFC01A SERRCVXON 00 00FFC019 SERTAILRCV 00 00FFC016 |
SERTAILXMIT 00 00FFC018 SERTZERO 00 00000132 SETKEYBOARDECHO 02 00FFF1CD SETREGA 02 00FFF8E4 |
SETREGB 02 00FFF8F3 SETREGCCR 02 00FFF95C SETREGD 02 00FFF902 SETREGDPR 02 00FFF94D |
SETREGPC 02 00FFF96B SETREGS 02 00FFF93E SETREGU 02 00FFF92F SETREGX 02 00FFF911 |
SETREGY 02 00FFF920 SGC2 02 00FFEC3D SGCNOCHARS 02 00FFEC50 SGCXIT 02 00FFEC53 |
SHIFTEDSCANCODES 02 00FFE700 SHIFTLEFT5 02 00FFE1CA SHL_NUMWKA 02 00FFF4EE SHOWSPRITES 02 00FFF1D3 |
SIEVE 02 00FFE190 SIEVE1 02 00FFE1A8 SIEVE2 02 00FFE1A4 SIEVE3 02 00FFE195 |
SIEVE4 02 00FFE1B7 SINI1 02 00FFEC08 SIRQNXTBYTE 02 00FFECD9 SIRQRXFULL 02 00FFED1B |
SKIPDOLLAR 02 00FFF3F9 SKIP_INIT 02 00FFE10D SOH 00 00000001 SOTST1 02 00FFED3E |
SPC0001 02 00FFECA0 SPCD0001 02 00FFEC95 SPCNOCHARS 02 00FFEC6E SPCXIT 02 00FFEC71 |
SPRITE_CTRL 00 FFE10000 SPRITE_EN 00 000003C0 SPS2 02 00FFED28 SPSXIT 02 00FFED32 |
SRCXIT 02 00FFECCB ST1 02 00FFE0B8 ST10 02 00FFE11B ST11 02 00FFE060 |
ST3 02 00FFE09F ST6 02 00FFE03C ST7 02 00FFE046 ST8 02 00FFE046 |
ST9 02 00FFE069 START 02 00FFE023 STRPTR 00 00000024 SWI3_EXIT 02 00FFF803 |
SWI3_ROUT 02 00FFF7CB SWICALLOS 02 00FFF6F5 SWINOTBKPT 02 00FFF678 SWI_ROUT 02 00FFF65B |
SWI_ROUT1 02 00FFF660 SWI_ROUT2 02 00FFF671 SWI_ROUT3 02 00FFF6AE SWI_ROUT4 02 00FFF6BF |
ST9 02 00FFE069 START 02 00FFE023 STRPTR 00 00000024 SWI3_EXIT 02 00FFFC33 |
SWI3_ROUT 02 00FFFBFB SWICALLOS 02 00FFFAE8 SWINOTBKPT 02 00FFFA66 SWI_ROUT 02 00FFFA49 |
SWI_ROUT1 02 00FFFA4E SWI_ROUT2 02 00FFFA5F SWI_ROUT3 02 00FFFA9C SWI_ROUT4 02 00FFFAAD |
TAB 00 00000009 TCB_CURSORCOL 00 00000021 TCB_CURSORROW 00 00000020 TCB_HJCB 00 0000001C |
TCB_HWAITMBX 00 00000022 TCB_IOF_NEXT 00 0000002C TCB_IOF_PREV 00 00000030 TCB_MBQ_NEXT 00 00000024 |
TCB_MBQ_PREV 00 00000028 TCB_MMU_MAP 00 00000038 TCB_MSGPTR_D1 00 00000014 TCB_MSGPTR_D2 00 00000018 |
TCB_NXTRDY 00 00000000 TCB_NXTTCB 00 00000008 TCB_PRIORITY 00 00000010 TCB_PRVRDY 00 00000004 |
TCB_SPSAVE 00 00000034 TCB_STATUS 00 0000001E TCB_TIMEOUT 00 0000000C TEXTCLOSE 02 00FFE235 |
TEXTOPEN 02 00FFE234 TEXTREAD 02 00FFE236 TEXTREG 00 FFE07F00 TEXTSCR 00 FFE00000 |
TEXTSEEK 02 00FFE238 TEXTWRITE 02 00FFE237 TEXT_COLS 00 00000000 TEXT_CURPOS 00 00000022 |
TEXT_ROWS 00 00000001 TIMEOUTLIST 00 0000078C TIMERINIT 02 00FFE465 TIMERIRQ 02 00FFE490 |
TIMES10 02 00FFF154 TR1A 02 00FFF817 UCP1 02 00FFE2F0 UNSHIFTEDSCANCODES 02 00FFE600 |
UPDATECURSORPOS 02 00FFE2CC VIA 00 FFE60000 VIA_ACR 00 0000000B VIA_DDRA 00 00000003 |
TCB_SPSAVE 00 00000034 TCB_STATUS 00 0000001E TCB_TIMEOUT 00 0000000C TEXTCLOSE 02 00FFE238 |
TEXTOPEN 02 00FFE237 TEXTREAD 02 00FFE239 TEXTREG 00 FFE07F00 TEXTSCR 00 FFE00000 |
TEXTSEEK 02 00FFE23B TEXTWRITE 02 00FFE23A TEXT_COLS 00 00000000 TEXT_CURPOS 00 00000022 |
TEXT_ROWS 00 00000001 TIMEOUTLIST 00 0000078C TIMERINIT 02 00FFE468 TIMERIRQ 02 00FFE493 |
TIMES10 02 00FFF483 TR1A 02 00FFFC61 UCP1 02 00FFE2F3 UNSHIFTEDSCANCODES 02 00FFE600 |
UPDATECURSORPOS 02 00FFE2CF VIA 00 FFE60000 VIA_ACR 00 0000000B VIA_DDRA 00 00000003 |
VIA_IER 00 0000000E VIA_IFR 00 0000000D VIA_PA 00 00000001 VIA_T3CMPH 00 00000015 |
VIA_T3CMPL 00 00000014 VIA_T3LH 00 00000013 VIA_T3LL 00 00000012 W10_0001 02 00FFE940 |
W300_0001 02 00FFE954 WAIT10MS 02 00FFE939 WAIT300MS 02 00FFE94D XBLANK 02 00FFD0AF |
XITMONITOR 02 00FFF6F3 XOFF 00 00000013 XON 00 00000011 |
575 SYMBOLS |
XITMONITOR 02 00FFFAE6 XM_CALC_CHECKSUM 02 00FFF0D7 XM_CALC_CRC 02 00FFF0E9 XM_CHECKSUM 00 000009F7 |
XM_CRC 00 000009FE XM_CRC1 02 00FFF0F4 XM_CRC2 02 00FFF150 XM_CRC3 02 00FFF158 |
XM_CRC4 02 00FFF13B XM_CS1 02 00FFF0DB XM_EOT 02 00FFF07E XM_FLAG 00 000009F6 |
XM_GB1 02 00FFEFA9 XM_GB2 02 00FFEFB7 XM_GETBYTE 02 00FFEFA9 XM_IBUF 00 00000A00 |
XM_NOTRANSMITTER 02 00FFF096 XM_OBUF 00 00000A80 XM_OUTBYTEASHEX 02 00FFF170 XM_PACKETNUM 00 000009FA |
XM_PROTOCOL 00 000009F5 XM_RCV1 02 00FFEFDF XM_RCV2 02 00FFF015 XM_RCV3 02 00FFF05A |
XM_RCV4 02 00FFEFDC XM_RCV5 02 00FFEFD7 XM_RCV_CHKSUM 02 00FFF052 XM_RCV_NAK 02 00FFEFF4 |
XM_RCV_TO1 02 00FFF076 XM_RCV_TO2 02 00FFF074 XM_RECEIVE 02 00FFEFD5 XM_RECEIVESTART 02 00FFEFBA |
XM_RETRY1 02 00FFF085 XM_SEND 02 00FFEF39 XM_SEND1 02 00FFEF58 XM_SEND2 02 00FFEF86 |
XM_SEND3 02 00FFEF8D XM_SEND4 02 00FFEF49 XM_SEND5 02 00FFEF46 XM_SENDSTART 02 00FFEF2C |
XM_SOH 02 00FFEFFA XM_TIMER 00 00FFC020 XM_TMP 00 000009FC XM_TMP2 00 000009F8 |
XOFF 00 00000013 XON 00 00000011 |
658 SYMBOLS |
|
3 error(s), 592 warning(s) |
3 error(s), 1006 warning(s) |
/trunk/software/boot/boot_rom.ver
4,8 → 4,8
rommem[ 4271] <= 12'h0C6; |
rommem[ 4272] <= 12'h020; |
rommem[ 4273] <= 12'h017; |
rommem[ 4274] <= 12'h001; |
rommem[ 4275] <= 12'hE2D; |
rommem[ 4274] <= 12'h002; |
rommem[ 4275] <= 12'h115; |
rommem[ 4276] <= 12'h039; |
rommem[ 4304] <= 12'h012; |
rommem[ 4305] <= 12'h012; |
12,13 → 12,13
rommem[ 4306] <= 12'h0C6; |
rommem[ 4307] <= 12'h00D; |
rommem[ 4308] <= 12'h017; |
rommem[ 4309] <= 12'h001; |
rommem[ 4310] <= 12'hE0A; |
rommem[ 4309] <= 12'h002; |
rommem[ 4310] <= 12'h0F2; |
rommem[ 4311] <= 12'h0C6; |
rommem[ 4312] <= 12'h00A; |
rommem[ 4313] <= 12'h017; |
rommem[ 4314] <= 12'h001; |
rommem[ 4315] <= 12'hE05; |
rommem[ 4314] <= 12'h002; |
rommem[ 4315] <= 12'h0ED; |
rommem[ 4316] <= 12'h039; |
rommem[ 4336] <= 12'h012; |
rommem[ 4337] <= 12'h020; |
30,24 → 30,24
rommem[ 4800] <= 12'h012; |
rommem[ 4801] <= 12'h017; |
rommem[ 4802] <= 12'h001; |
rommem[ 4803] <= 12'hC1D; |
rommem[ 4803] <= 12'hF05; |
rommem[ 4804] <= 12'h039; |
rommem[ 4812] <= 12'h012; |
rommem[ 4813] <= 12'h012; |
rommem[ 4814] <= 12'h017; |
rommem[ 4815] <= 12'h001; |
rommem[ 4816] <= 12'h166; |
rommem[ 4816] <= 12'h169; |
rommem[ 4817] <= 12'h039; |
rommem[ 4818] <= 12'h017; |
rommem[ 4819] <= 12'h001; |
rommem[ 4820] <= 12'h159; |
rommem[ 4820] <= 12'h15C; |
rommem[ 4821] <= 12'h039; |
rommem[ 4864] <= 12'h016; |
rommem[ 4865] <= 12'h000; |
rommem[ 4866] <= 12'hF36; |
rommem[ 4866] <= 12'hF39; |
rommem[ 4872] <= 12'h016; |
rommem[ 4873] <= 12'h000; |
rommem[ 4874] <= 12'hFA5; |
rommem[ 4874] <= 12'hFA8; |
rommem[ 5120] <= 12'h18E; |
rommem[ 5121] <= 12'h000; |
rommem[ 5122] <= 12'h000; |
120,23 → 120,23
rommem[ 5189] <= 12'h06E; |
rommem[ 5190] <= 12'hC04; |
rommem[ 8192] <= 12'hFFF; |
rommem[ 8193] <= 12'h039; |
rommem[ 8193] <= 12'h35C; |
rommem[ 8194] <= 12'hFFE; |
rommem[ 8195] <= 12'h022; |
rommem[ 8196] <= 12'hFFE; |
rommem[ 8197] <= 12'hEA9; |
rommem[ 8198] <= 12'hFFE; |
rommem[ 8199] <= 12'hEC7; |
rommem[ 8200] <= 12'hFFE; |
rommem[ 8201] <= 12'hECB; |
rommem[ 8202] <= 12'hFFE; |
rommem[ 8203] <= 12'hEE1; |
rommem[ 8196] <= 12'hFFF; |
rommem[ 8197] <= 12'h191; |
rommem[ 8198] <= 12'hFFF; |
rommem[ 8199] <= 12'h1AF; |
rommem[ 8200] <= 12'hFFF; |
rommem[ 8201] <= 12'h1B3; |
rommem[ 8202] <= 12'hFFF; |
rommem[ 8203] <= 12'h1C9; |
rommem[ 8204] <= 12'hFFE; |
rommem[ 8205] <= 12'h41B; |
rommem[ 8205] <= 12'h41E; |
rommem[ 8206] <= 12'hFFE; |
rommem[ 8207] <= 12'h40E; |
rommem[ 8207] <= 12'h411; |
rommem[ 8208] <= 12'hFFE; |
rommem[ 8209] <= 12'h40A; |
rommem[ 8209] <= 12'h40D; |
rommem[ 8210] <= 12'hFFE; |
rommem[ 8211] <= 12'h022; |
rommem[ 8212] <= 12'hFFE; |
148,7 → 148,7
rommem[ 8218] <= 12'hFFE; |
rommem[ 8219] <= 12'h022; |
rommem[ 8220] <= 12'hFFE; |
rommem[ 8221] <= 12'h319; |
rommem[ 8221] <= 12'h31C; |
rommem[ 8222] <= 12'hFFE; |
rommem[ 8223] <= 12'h022; |
rommem[ 8224] <= 12'hFFE; |
190,7 → 190,7
rommem[ 8260] <= 12'h081; |
rommem[ 8261] <= 12'h001; |
rommem[ 8262] <= 12'h08D; |
rommem[ 8263] <= 12'h16D; |
rommem[ 8263] <= 12'h170; |
rommem[ 8264] <= 12'h07F; |
rommem[ 8265] <= 12'h000; |
rommem[ 8266] <= 12'h810; |
248,16 → 248,16
rommem[ 8318] <= 12'h097; |
rommem[ 8319] <= 12'h112; |
rommem[ 8320] <= 12'h08D; |
rommem[ 8321] <= 12'h1B7; |
rommem[ 8321] <= 12'h1BA; |
rommem[ 8322] <= 12'h0CC; |
rommem[ 8323] <= 12'hFFE; |
rommem[ 8324] <= 12'h319; |
rommem[ 8324] <= 12'h31C; |
rommem[ 8325] <= 12'h0FD; |
rommem[ 8326] <= 12'h000; |
rommem[ 8327] <= 12'h800; |
rommem[ 8328] <= 12'h0CC; |
rommem[ 8329] <= 12'hFFE; |
rommem[ 8330] <= 12'hC64; |
rommem[ 8330] <= 12'hC73; |
rommem[ 8331] <= 12'h0FD; |
rommem[ 8332] <= 12'h000; |
rommem[ 8333] <= 12'h804; |
273,11 → 273,11
rommem[ 8343] <= 12'h0C1; |
rommem[ 8344] <= 12'h020; |
rommem[ 8345] <= 12'h027; |
rommem[ 8346] <= 12'h05D; |
rommem[ 8346] <= 12'h060; |
rommem[ 8347] <= 12'h020; |
rommem[ 8348] <= 12'h06D; |
rommem[ 8348] <= 12'h070; |
rommem[ 8349] <= 12'h020; |
rommem[ 8350] <= 12'h0B4; |
rommem[ 8350] <= 12'h0B7; |
rommem[ 8351] <= 12'h086; |
rommem[ 8352] <= 12'h0FF; |
rommem[ 8353] <= 12'h015; |
289,7 → 289,7
rommem[ 8359] <= 12'hFF7; |
rommem[ 8360] <= 12'h017; |
rommem[ 8361] <= 12'h000; |
rommem[ 8362] <= 12'h449; |
rommem[ 8362] <= 12'h479; |
rommem[ 8363] <= 12'h08E; |
rommem[ 8364] <= 12'h000; |
rommem[ 8365] <= 12'h127; |
300,998 → 300,998
rommem[ 8370] <= 12'h05A; |
rommem[ 8371] <= 12'h026; |
rommem[ 8372] <= 12'hFFB; |
rommem[ 8373] <= 12'h06F; |
rommem[ 8374] <= 12'h809; |
rommem[ 8375] <= 12'hE3F; |
rommem[ 8376] <= 12'h000; |
rommem[ 8377] <= 12'h0A7; |
rommem[ 8378] <= 12'h809; |
rommem[ 8379] <= 12'hE3F; |
rommem[ 8380] <= 12'h001; |
rommem[ 8381] <= 12'h0E7; |
rommem[ 8382] <= 12'h809; |
rommem[ 8383] <= 12'hE3F; |
rommem[ 8384] <= 12'h002; |
rommem[ 8385] <= 12'h030; |
rommem[ 8386] <= 12'h004; |
rommem[ 8387] <= 12'h08C; |
rommem[ 8388] <= 12'h000; |
rommem[ 8389] <= 12'h100; |
rommem[ 8390] <= 12'h025; |
rommem[ 8391] <= 12'hFED; |
rommem[ 8392] <= 12'h086; |
rommem[ 8393] <= 12'h081; |
rommem[ 8394] <= 12'h015; |
rommem[ 8395] <= 12'h0B7; |
rommem[ 8396] <= 12'hFFF; |
rommem[ 8397] <= 12'hE3F; |
rommem[ 8398] <= 12'h0FD; |
rommem[ 8399] <= 12'h086; |
rommem[ 8400] <= 12'h01F; |
rommem[ 8401] <= 12'h015; |
rommem[ 8402] <= 12'h0B7; |
rommem[ 8403] <= 12'hFFF; |
rommem[ 8404] <= 12'hE3F; |
rommem[ 8405] <= 12'h009; |
rommem[ 8406] <= 12'h086; |
rommem[ 8407] <= 12'h040; |
rommem[ 8408] <= 12'h015; |
rommem[ 8409] <= 12'h0B7; |
rommem[ 8410] <= 12'hFFF; |
rommem[ 8411] <= 12'hE07; |
rommem[ 8412] <= 12'hF00; |
rommem[ 8413] <= 12'h086; |
rommem[ 8414] <= 12'h020; |
rommem[ 8415] <= 12'h015; |
rommem[ 8416] <= 12'h0B7; |
rommem[ 8417] <= 12'hFFF; |
rommem[ 8418] <= 12'hE07; |
rommem[ 8419] <= 12'hF01; |
rommem[ 8420] <= 12'h08D; |
rommem[ 8421] <= 12'h153; |
rommem[ 8422] <= 12'h08D; |
rommem[ 8423] <= 12'h1C8; |
rommem[ 8424] <= 12'h08E; |
rommem[ 8425] <= 12'h000; |
rommem[ 8426] <= 12'h000; |
rommem[ 8427] <= 12'h0CC; |
rommem[ 8373] <= 12'h08E; |
rommem[ 8374] <= 12'h000; |
rommem[ 8375] <= 12'h080; |
rommem[ 8376] <= 12'h06F; |
rommem[ 8377] <= 12'h809; |
rommem[ 8378] <= 12'hE3F; |
rommem[ 8379] <= 12'h000; |
rommem[ 8380] <= 12'h0A7; |
rommem[ 8381] <= 12'h809; |
rommem[ 8382] <= 12'hE3F; |
rommem[ 8383] <= 12'h001; |
rommem[ 8384] <= 12'h0E7; |
rommem[ 8385] <= 12'h809; |
rommem[ 8386] <= 12'hE3F; |
rommem[ 8387] <= 12'h002; |
rommem[ 8388] <= 12'h030; |
rommem[ 8389] <= 12'h004; |
rommem[ 8390] <= 12'h08C; |
rommem[ 8391] <= 12'h000; |
rommem[ 8392] <= 12'h100; |
rommem[ 8393] <= 12'h025; |
rommem[ 8394] <= 12'hFED; |
rommem[ 8395] <= 12'h086; |
rommem[ 8396] <= 12'h0C1; |
rommem[ 8397] <= 12'h015; |
rommem[ 8398] <= 12'h0B7; |
rommem[ 8399] <= 12'hFFF; |
rommem[ 8400] <= 12'hE3F; |
rommem[ 8401] <= 12'h0FD; |
rommem[ 8402] <= 12'h086; |
rommem[ 8403] <= 12'h041; |
rommem[ 8404] <= 12'h015; |
rommem[ 8405] <= 12'h0B7; |
rommem[ 8406] <= 12'hFFF; |
rommem[ 8407] <= 12'hE3F; |
rommem[ 8408] <= 12'h0D1; |
rommem[ 8409] <= 12'h086; |
rommem[ 8410] <= 12'h040; |
rommem[ 8411] <= 12'h015; |
rommem[ 8412] <= 12'h0B7; |
rommem[ 8413] <= 12'hFFF; |
rommem[ 8414] <= 12'hE07; |
rommem[ 8415] <= 12'hF00; |
rommem[ 8416] <= 12'h086; |
rommem[ 8417] <= 12'h020; |
rommem[ 8418] <= 12'h015; |
rommem[ 8419] <= 12'h0B7; |
rommem[ 8420] <= 12'hFFF; |
rommem[ 8421] <= 12'hE07; |
rommem[ 8422] <= 12'hF01; |
rommem[ 8423] <= 12'h08D; |
rommem[ 8424] <= 12'h153; |
rommem[ 8425] <= 12'h08D; |
rommem[ 8426] <= 12'h1C8; |
rommem[ 8427] <= 12'h08E; |
rommem[ 8428] <= 12'h000; |
rommem[ 8429] <= 12'h000; |
rommem[ 8430] <= 12'h017; |
rommem[ 8430] <= 12'h0CC; |
rommem[ 8431] <= 12'h000; |
rommem[ 8432] <= 12'hDFA; |
rommem[ 8432] <= 12'h000; |
rommem[ 8433] <= 12'h017; |
rommem[ 8434] <= 12'h000; |
rommem[ 8435] <= 12'h8CC; |
rommem[ 8436] <= 12'h0DC; |
rommem[ 8437] <= 12'h124; |
rommem[ 8438] <= 12'h08D; |
rommem[ 8439] <= 12'h336; |
rommem[ 8440] <= 12'h017; |
rommem[ 8441] <= 12'h000; |
rommem[ 8442] <= 12'h36A; |
rommem[ 8434] <= 12'h001; |
rommem[ 8435] <= 12'h0DF; |
rommem[ 8436] <= 12'h017; |
rommem[ 8437] <= 12'h000; |
rommem[ 8438] <= 12'h8C9; |
rommem[ 8439] <= 12'h0DC; |
rommem[ 8440] <= 12'h124; |
rommem[ 8441] <= 12'h08D; |
rommem[ 8442] <= 12'h336; |
rommem[ 8443] <= 12'h017; |
rommem[ 8444] <= 12'h000; |
rommem[ 8445] <= 12'hAF1; |
rommem[ 8446] <= 12'h08E; |
rommem[ 8445] <= 12'h36A; |
rommem[ 8446] <= 12'h017; |
rommem[ 8447] <= 12'h000; |
rommem[ 8448] <= 12'h080; |
rommem[ 8449] <= 12'h086; |
rommem[ 8450] <= 12'h001; |
rommem[ 8451] <= 12'h0C6; |
rommem[ 8452] <= 12'h001; |
rommem[ 8453] <= 12'h0C6; |
rommem[ 8454] <= 12'h001; |
rommem[ 8455] <= 12'h0F7; |
rommem[ 8456] <= 12'hEF1; |
rommem[ 8457] <= 12'h000; |
rommem[ 8458] <= 12'h01C; |
rommem[ 8459] <= 12'h0EF; |
rommem[ 8460] <= 12'h086; |
rommem[ 8461] <= 12'h005; |
rommem[ 8462] <= 12'h015; |
rommem[ 8463] <= 12'h0B7; |
rommem[ 8464] <= 12'hFFF; |
rommem[ 8465] <= 12'hE60; |
rommem[ 8466] <= 12'h001; |
rommem[ 8467] <= 12'h0CC; |
rommem[ 8468] <= 12'hFFE; |
rommem[ 8469] <= 12'h11C; |
rommem[ 8470] <= 12'h08D; |
rommem[ 8471] <= 12'h2C2; |
rommem[ 8472] <= 12'h03F; |
rommem[ 8473] <= 12'h000; |
rommem[ 8474] <= 12'h020; |
rommem[ 8475] <= 12'hFFC; |
rommem[ 8476] <= 12'h072; |
rommem[ 8477] <= 12'h066; |
rommem[ 8478] <= 12'h036; |
rommem[ 8479] <= 12'h038; |
rommem[ 8480] <= 12'h030; |
rommem[ 8481] <= 12'h039; |
rommem[ 8482] <= 12'h020; |
rommem[ 8483] <= 12'h031; |
rommem[ 8484] <= 12'h032; |
rommem[ 8485] <= 12'h02D; |
rommem[ 8486] <= 12'h062; |
rommem[ 8487] <= 12'h069; |
rommem[ 8488] <= 12'h074; |
rommem[ 8489] <= 12'h020; |
rommem[ 8490] <= 12'h053; |
rommem[ 8491] <= 12'h079; |
rommem[ 8492] <= 12'h073; |
rommem[ 8493] <= 12'h074; |
rommem[ 8494] <= 12'h065; |
rommem[ 8495] <= 12'h06D; |
rommem[ 8496] <= 12'h020; |
rommem[ 8497] <= 12'h053; |
rommem[ 8498] <= 12'h074; |
rommem[ 8499] <= 12'h061; |
rommem[ 8500] <= 12'h072; |
rommem[ 8448] <= 12'hAEE; |
rommem[ 8449] <= 12'h08E; |
rommem[ 8450] <= 12'h000; |
rommem[ 8451] <= 12'h080; |
rommem[ 8452] <= 12'h086; |
rommem[ 8453] <= 12'h001; |
rommem[ 8454] <= 12'h0C6; |
rommem[ 8455] <= 12'h001; |
rommem[ 8456] <= 12'h0C6; |
rommem[ 8457] <= 12'h001; |
rommem[ 8458] <= 12'h0F7; |
rommem[ 8459] <= 12'hEF1; |
rommem[ 8460] <= 12'h000; |
rommem[ 8461] <= 12'h01C; |
rommem[ 8462] <= 12'h0EF; |
rommem[ 8463] <= 12'h086; |
rommem[ 8464] <= 12'h005; |
rommem[ 8465] <= 12'h015; |
rommem[ 8466] <= 12'h0B7; |
rommem[ 8467] <= 12'hFFF; |
rommem[ 8468] <= 12'hE60; |
rommem[ 8469] <= 12'h001; |
rommem[ 8470] <= 12'h0CC; |
rommem[ 8471] <= 12'hFFE; |
rommem[ 8472] <= 12'h11F; |
rommem[ 8473] <= 12'h08D; |
rommem[ 8474] <= 12'h2C2; |
rommem[ 8475] <= 12'h03F; |
rommem[ 8476] <= 12'h000; |
rommem[ 8477] <= 12'h020; |
rommem[ 8478] <= 12'hFFC; |
rommem[ 8479] <= 12'h072; |
rommem[ 8480] <= 12'h066; |
rommem[ 8481] <= 12'h036; |
rommem[ 8482] <= 12'h038; |
rommem[ 8483] <= 12'h030; |
rommem[ 8484] <= 12'h039; |
rommem[ 8485] <= 12'h020; |
rommem[ 8486] <= 12'h031; |
rommem[ 8487] <= 12'h032; |
rommem[ 8488] <= 12'h02D; |
rommem[ 8489] <= 12'h062; |
rommem[ 8490] <= 12'h069; |
rommem[ 8491] <= 12'h074; |
rommem[ 8492] <= 12'h020; |
rommem[ 8493] <= 12'h053; |
rommem[ 8494] <= 12'h079; |
rommem[ 8495] <= 12'h073; |
rommem[ 8496] <= 12'h074; |
rommem[ 8497] <= 12'h065; |
rommem[ 8498] <= 12'h06D; |
rommem[ 8499] <= 12'h020; |
rommem[ 8500] <= 12'h053; |
rommem[ 8501] <= 12'h074; |
rommem[ 8502] <= 12'h069; |
rommem[ 8503] <= 12'h06E; |
rommem[ 8504] <= 12'h067; |
rommem[ 8505] <= 12'h02E; |
rommem[ 8506] <= 12'h00D; |
rommem[ 8507] <= 12'h00A; |
rommem[ 8508] <= 12'h000; |
rommem[ 8509] <= 12'h015; |
rommem[ 8510] <= 12'h07F; |
rommem[ 8511] <= 12'hFFF; |
rommem[ 8512] <= 12'hFFF; |
rommem[ 8513] <= 12'hFE1; |
rommem[ 8514] <= 12'h039; |
rommem[ 8515] <= 12'h08E; |
rommem[ 8516] <= 12'hFFC; |
rommem[ 8517] <= 12'h000; |
rommem[ 8518] <= 12'h18E; |
rommem[ 8519] <= 12'h00C; |
rommem[ 8502] <= 12'h061; |
rommem[ 8503] <= 12'h072; |
rommem[ 8504] <= 12'h074; |
rommem[ 8505] <= 12'h069; |
rommem[ 8506] <= 12'h06E; |
rommem[ 8507] <= 12'h067; |
rommem[ 8508] <= 12'h02E; |
rommem[ 8509] <= 12'h00D; |
rommem[ 8510] <= 12'h00A; |
rommem[ 8511] <= 12'h000; |
rommem[ 8512] <= 12'h015; |
rommem[ 8513] <= 12'h07F; |
rommem[ 8514] <= 12'hFFF; |
rommem[ 8515] <= 12'hFFF; |
rommem[ 8516] <= 12'hFE1; |
rommem[ 8517] <= 12'h039; |
rommem[ 8518] <= 12'h08E; |
rommem[ 8519] <= 12'hFFC; |
rommem[ 8520] <= 12'h000; |
rommem[ 8521] <= 12'h0EC; |
rommem[ 8522] <= 12'h801; |
rommem[ 8523] <= 12'h0ED; |
rommem[ 8524] <= 12'hA01; |
rommem[ 8525] <= 12'h08C; |
rommem[ 8526] <= 12'h000; |
rommem[ 8527] <= 12'h000; |
rommem[ 8528] <= 12'h026; |
rommem[ 8529] <= 12'hFF7; |
rommem[ 8530] <= 12'h039; |
rommem[ 8531] <= 12'h086; |
rommem[ 8532] <= 12'h050; |
rommem[ 8533] <= 12'h015; |
rommem[ 8534] <= 12'h0F6; |
rommem[ 8535] <= 12'hFFF; |
rommem[ 8536] <= 12'hFFF; |
rommem[ 8537] <= 12'hFE0; |
rommem[ 8538] <= 12'h0C0; |
rommem[ 8539] <= 12'h001; |
rommem[ 8540] <= 12'h08E; |
rommem[ 8541] <= 12'h000; |
rommem[ 8542] <= 12'h000; |
rommem[ 8543] <= 12'h03A; |
rommem[ 8544] <= 12'h0A7; |
rommem[ 8545] <= 12'h809; |
rommem[ 8546] <= 12'hE00; |
rommem[ 8547] <= 12'h000; |
rommem[ 8548] <= 12'h030; |
rommem[ 8549] <= 12'h008; |
rommem[ 8550] <= 12'h08C; |
rommem[ 8551] <= 12'h000; |
rommem[ 8552] <= 12'hFFF; |
rommem[ 8553] <= 12'h025; |
rommem[ 8554] <= 12'hFF5; |
rommem[ 8555] <= 12'h0BD; |
rommem[ 8556] <= 12'hFFE; |
rommem[ 8557] <= 12'h13D; |
rommem[ 8558] <= 12'h0CB; |
rommem[ 8559] <= 12'h002; |
rommem[ 8560] <= 12'h086; |
rommem[ 8561] <= 12'h04E; |
rommem[ 8562] <= 12'h08E; |
rommem[ 8563] <= 12'h000; |
rommem[ 8564] <= 12'h000; |
rommem[ 8565] <= 12'h03A; |
rommem[ 8566] <= 12'h03A; |
rommem[ 8567] <= 12'h0A7; |
rommem[ 8568] <= 12'h809; |
rommem[ 8569] <= 12'hE00; |
rommem[ 8570] <= 12'h000; |
rommem[ 8571] <= 12'h08C; |
rommem[ 8572] <= 12'h000; |
rommem[ 8573] <= 12'hFFF; |
rommem[ 8574] <= 12'h025; |
rommem[ 8575] <= 12'hFF6; |
rommem[ 8576] <= 12'h0BD; |
rommem[ 8577] <= 12'hFFE; |
rommem[ 8578] <= 12'h13D; |
rommem[ 8579] <= 12'h0CB; |
rommem[ 8580] <= 12'h008; |
rommem[ 8581] <= 12'h0C1; |
rommem[ 8582] <= 12'hFF0; |
rommem[ 8583] <= 12'h025; |
rommem[ 8584] <= 12'hFE9; |
rommem[ 8585] <= 12'h013; |
rommem[ 8586] <= 12'h016; |
rommem[ 8587] <= 12'h000; |
rommem[ 8588] <= 12'hEAC; |
rommem[ 8589] <= 12'h086; |
rommem[ 8590] <= 12'h050; |
rommem[ 8591] <= 12'h08E; |
rommem[ 8592] <= 12'h000; |
rommem[ 8593] <= 12'h000; |
rommem[ 8594] <= 12'h0A7; |
rommem[ 8595] <= 12'h809; |
rommem[ 8596] <= 12'hE00; |
rommem[ 8597] <= 12'h000; |
rommem[ 8598] <= 12'h030; |
rommem[ 8599] <= 12'h001; |
rommem[ 8600] <= 12'h08C; |
rommem[ 8601] <= 12'h000; |
rommem[ 8602] <= 12'hFFF; |
rommem[ 8603] <= 12'h025; |
rommem[ 8604] <= 12'hFF5; |
rommem[ 8605] <= 12'h0C6; |
rommem[ 8606] <= 12'h002; |
rommem[ 8607] <= 12'h086; |
rommem[ 8608] <= 12'h04E; |
rommem[ 8609] <= 12'h08E; |
rommem[ 8610] <= 12'h000; |
rommem[ 8611] <= 12'h000; |
rommem[ 8612] <= 12'h03A; |
rommem[ 8613] <= 12'h03A; |
rommem[ 8614] <= 12'h0A7; |
rommem[ 8615] <= 12'h809; |
rommem[ 8616] <= 12'hE00; |
rommem[ 8617] <= 12'h000; |
rommem[ 8618] <= 12'h08C; |
rommem[ 8619] <= 12'h000; |
rommem[ 8620] <= 12'hFFF; |
rommem[ 8621] <= 12'h025; |
rommem[ 8622] <= 12'hFC7; |
rommem[ 8623] <= 12'h05C; |
rommem[ 8624] <= 12'h0C1; |
rommem[ 8625] <= 12'hFF0; |
rommem[ 8626] <= 12'h025; |
rommem[ 8627] <= 12'hFED; |
rommem[ 8628] <= 12'h039; |
rommem[ 8629] <= 12'h0CC; |
rommem[ 8630] <= 12'h895; |
rommem[ 8631] <= 12'h440; |
rommem[ 8632] <= 12'h0C1; |
rommem[ 8633] <= 12'h0FF; |
rommem[ 8634] <= 12'h026; |
rommem[ 8635] <= 12'h000; |
rommem[ 8636] <= 12'h015; |
rommem[ 8637] <= 12'h0B7; |
rommem[ 8638] <= 12'hFFF; |
rommem[ 8639] <= 12'hE60; |
rommem[ 8640] <= 12'h001; |
rommem[ 8641] <= 12'h083; |
rommem[ 8642] <= 12'h000; |
rommem[ 8521] <= 12'h18E; |
rommem[ 8522] <= 12'h00C; |
rommem[ 8523] <= 12'h000; |
rommem[ 8524] <= 12'h0EC; |
rommem[ 8525] <= 12'h801; |
rommem[ 8526] <= 12'h0ED; |
rommem[ 8527] <= 12'hA01; |
rommem[ 8528] <= 12'h08C; |
rommem[ 8529] <= 12'h000; |
rommem[ 8530] <= 12'h000; |
rommem[ 8531] <= 12'h026; |
rommem[ 8532] <= 12'hFF7; |
rommem[ 8533] <= 12'h039; |
rommem[ 8534] <= 12'h086; |
rommem[ 8535] <= 12'h050; |
rommem[ 8536] <= 12'h015; |
rommem[ 8537] <= 12'h0F6; |
rommem[ 8538] <= 12'hFFF; |
rommem[ 8539] <= 12'hFFF; |
rommem[ 8540] <= 12'hFE0; |
rommem[ 8541] <= 12'h0C0; |
rommem[ 8542] <= 12'h001; |
rommem[ 8543] <= 12'h08E; |
rommem[ 8544] <= 12'h000; |
rommem[ 8545] <= 12'h000; |
rommem[ 8546] <= 12'h03A; |
rommem[ 8547] <= 12'h0A7; |
rommem[ 8548] <= 12'h809; |
rommem[ 8549] <= 12'hE00; |
rommem[ 8550] <= 12'h000; |
rommem[ 8551] <= 12'h030; |
rommem[ 8552] <= 12'h008; |
rommem[ 8553] <= 12'h08C; |
rommem[ 8554] <= 12'h000; |
rommem[ 8555] <= 12'hFFF; |
rommem[ 8556] <= 12'h025; |
rommem[ 8557] <= 12'hFF5; |
rommem[ 8558] <= 12'h0BD; |
rommem[ 8559] <= 12'hFFE; |
rommem[ 8560] <= 12'h140; |
rommem[ 8561] <= 12'h0CB; |
rommem[ 8562] <= 12'h002; |
rommem[ 8563] <= 12'h086; |
rommem[ 8564] <= 12'h04E; |
rommem[ 8565] <= 12'h08E; |
rommem[ 8566] <= 12'h000; |
rommem[ 8567] <= 12'h000; |
rommem[ 8568] <= 12'h03A; |
rommem[ 8569] <= 12'h03A; |
rommem[ 8570] <= 12'h0A7; |
rommem[ 8571] <= 12'h809; |
rommem[ 8572] <= 12'hE00; |
rommem[ 8573] <= 12'h000; |
rommem[ 8574] <= 12'h08C; |
rommem[ 8575] <= 12'h000; |
rommem[ 8576] <= 12'hFFF; |
rommem[ 8577] <= 12'h025; |
rommem[ 8578] <= 12'hFF6; |
rommem[ 8579] <= 12'h0BD; |
rommem[ 8580] <= 12'hFFE; |
rommem[ 8581] <= 12'h140; |
rommem[ 8582] <= 12'h0CB; |
rommem[ 8583] <= 12'h008; |
rommem[ 8584] <= 12'h0C1; |
rommem[ 8585] <= 12'hFF0; |
rommem[ 8586] <= 12'h025; |
rommem[ 8587] <= 12'hFE9; |
rommem[ 8588] <= 12'h013; |
rommem[ 8589] <= 12'h016; |
rommem[ 8590] <= 12'h001; |
rommem[ 8591] <= 12'h1CC; |
rommem[ 8592] <= 12'h086; |
rommem[ 8593] <= 12'h050; |
rommem[ 8594] <= 12'h08E; |
rommem[ 8595] <= 12'h000; |
rommem[ 8596] <= 12'h000; |
rommem[ 8597] <= 12'h0A7; |
rommem[ 8598] <= 12'h809; |
rommem[ 8599] <= 12'hE00; |
rommem[ 8600] <= 12'h000; |
rommem[ 8601] <= 12'h030; |
rommem[ 8602] <= 12'h001; |
rommem[ 8603] <= 12'h08C; |
rommem[ 8604] <= 12'h000; |
rommem[ 8605] <= 12'hFFF; |
rommem[ 8606] <= 12'h025; |
rommem[ 8607] <= 12'hFF5; |
rommem[ 8608] <= 12'h0C6; |
rommem[ 8609] <= 12'h002; |
rommem[ 8610] <= 12'h086; |
rommem[ 8611] <= 12'h04E; |
rommem[ 8612] <= 12'h08E; |
rommem[ 8613] <= 12'h000; |
rommem[ 8614] <= 12'h000; |
rommem[ 8615] <= 12'h03A; |
rommem[ 8616] <= 12'h03A; |
rommem[ 8617] <= 12'h0A7; |
rommem[ 8618] <= 12'h809; |
rommem[ 8619] <= 12'hE00; |
rommem[ 8620] <= 12'h000; |
rommem[ 8621] <= 12'h08C; |
rommem[ 8622] <= 12'h000; |
rommem[ 8623] <= 12'hFFF; |
rommem[ 8624] <= 12'h025; |
rommem[ 8625] <= 12'hFC7; |
rommem[ 8626] <= 12'h05C; |
rommem[ 8627] <= 12'h0C1; |
rommem[ 8628] <= 12'hFF0; |
rommem[ 8629] <= 12'h025; |
rommem[ 8630] <= 12'hFED; |
rommem[ 8631] <= 12'h039; |
rommem[ 8632] <= 12'h0CC; |
rommem[ 8633] <= 12'h895; |
rommem[ 8634] <= 12'h440; |
rommem[ 8635] <= 12'h0C1; |
rommem[ 8636] <= 12'h0FF; |
rommem[ 8637] <= 12'h026; |
rommem[ 8638] <= 12'h000; |
rommem[ 8639] <= 12'h015; |
rommem[ 8640] <= 12'h0B7; |
rommem[ 8641] <= 12'hFFF; |
rommem[ 8642] <= 12'hE60; |
rommem[ 8643] <= 12'h001; |
rommem[ 8644] <= 12'h026; |
rommem[ 8645] <= 12'hFF2; |
rommem[ 8646] <= 12'h039; |
rommem[ 8647] <= 12'h058; |
rommem[ 8648] <= 12'h049; |
rommem[ 8649] <= 12'h058; |
rommem[ 8650] <= 12'h049; |
rommem[ 8651] <= 12'h058; |
rommem[ 8652] <= 12'h049; |
rommem[ 8653] <= 12'h058; |
rommem[ 8654] <= 12'h049; |
rommem[ 8655] <= 12'h058; |
rommem[ 8656] <= 12'h049; |
rommem[ 8657] <= 12'h039; |
rommem[ 8658] <= 12'h034; |
rommem[ 8659] <= 12'h076; |
rommem[ 8660] <= 12'h01F; |
rommem[ 8661] <= 12'h098; |
rommem[ 8662] <= 12'h048; |
rommem[ 8663] <= 12'h048; |
rommem[ 8664] <= 12'h048; |
rommem[ 8644] <= 12'h083; |
rommem[ 8645] <= 12'h000; |
rommem[ 8646] <= 12'h001; |
rommem[ 8647] <= 12'h026; |
rommem[ 8648] <= 12'hFF2; |
rommem[ 8649] <= 12'h039; |
rommem[ 8650] <= 12'h058; |
rommem[ 8651] <= 12'h049; |
rommem[ 8652] <= 12'h058; |
rommem[ 8653] <= 12'h049; |
rommem[ 8654] <= 12'h058; |
rommem[ 8655] <= 12'h049; |
rommem[ 8656] <= 12'h058; |
rommem[ 8657] <= 12'h049; |
rommem[ 8658] <= 12'h058; |
rommem[ 8659] <= 12'h049; |
rommem[ 8660] <= 12'h039; |
rommem[ 8661] <= 12'h034; |
rommem[ 8662] <= 12'h076; |
rommem[ 8663] <= 12'h01F; |
rommem[ 8664] <= 12'h098; |
rommem[ 8665] <= 12'h048; |
rommem[ 8666] <= 12'h08A; |
rommem[ 8667] <= 12'hC00; |
rommem[ 8668] <= 12'h05F; |
rommem[ 8669] <= 12'h01F; |
rommem[ 8670] <= 12'h001; |
rommem[ 8671] <= 12'h034; |
rommem[ 8672] <= 12'h006; |
rommem[ 8673] <= 12'h18E; |
rommem[ 8674] <= 12'hE00; |
rommem[ 8675] <= 12'h000; |
rommem[ 8676] <= 12'h0CE; |
rommem[ 8677] <= 12'h000; |
rommem[ 8678] <= 12'h400; |
rommem[ 8679] <= 12'h0EC; |
rommem[ 8680] <= 12'h801; |
rommem[ 8681] <= 12'h0ED; |
rommem[ 8682] <= 12'hA01; |
rommem[ 8683] <= 12'h033; |
rommem[ 8684] <= 12'h5FF; |
rommem[ 8685] <= 12'h283; |
rommem[ 8686] <= 12'h000; |
rommem[ 8687] <= 12'h000; |
rommem[ 8688] <= 12'h026; |
rommem[ 8689] <= 12'hFF5; |
rommem[ 8690] <= 12'h035; |
rommem[ 8691] <= 12'h010; |
rommem[ 8692] <= 12'h0E6; |
rommem[ 8693] <= 12'h808; |
rommem[ 8694] <= 12'h110; |
rommem[ 8695] <= 12'h086; |
rommem[ 8696] <= 12'h040; |
rommem[ 8697] <= 12'h03D; |
rommem[ 8698] <= 12'h01F; |
rommem[ 8699] <= 12'h002; |
rommem[ 8700] <= 12'h0E6; |
rommem[ 8701] <= 12'h808; |
rommem[ 8702] <= 12'h111; |
rommem[ 8703] <= 12'h01F; |
rommem[ 8704] <= 12'h021; |
rommem[ 8705] <= 12'h03A; |
rommem[ 8706] <= 12'h015; |
rommem[ 8707] <= 12'h0BF; |
rommem[ 8708] <= 12'hFFF; |
rommem[ 8709] <= 12'hE07; |
rommem[ 8710] <= 12'hF22; |
rommem[ 8711] <= 12'h035; |
rommem[ 8712] <= 12'h0F6; |
rommem[ 8713] <= 12'h034; |
rommem[ 8714] <= 12'h076; |
rommem[ 8715] <= 12'h08D; |
rommem[ 8716] <= 12'h08D; |
rommem[ 8717] <= 12'h01F; |
rommem[ 8718] <= 12'h002; |
rommem[ 8719] <= 12'h08E; |
rommem[ 8720] <= 12'hE00; |
rommem[ 8721] <= 12'h000; |
rommem[ 8722] <= 12'h0CE; |
rommem[ 8723] <= 12'h000; |
rommem[ 8724] <= 12'h400; |
rommem[ 8725] <= 12'h0EC; |
rommem[ 8726] <= 12'h801; |
rommem[ 8727] <= 12'h0ED; |
rommem[ 8728] <= 12'hA01; |
rommem[ 8729] <= 12'h033; |
rommem[ 8730] <= 12'h5FF; |
rommem[ 8731] <= 12'h283; |
rommem[ 8732] <= 12'h000; |
rommem[ 8733] <= 12'h000; |
rommem[ 8734] <= 12'h026; |
rommem[ 8735] <= 12'hFF5; |
rommem[ 8736] <= 12'h035; |
rommem[ 8737] <= 12'h0F6; |
rommem[ 8738] <= 12'h054; |
rommem[ 8739] <= 12'h045; |
rommem[ 8740] <= 12'h058; |
rommem[ 8666] <= 12'h048; |
rommem[ 8667] <= 12'h048; |
rommem[ 8668] <= 12'h048; |
rommem[ 8669] <= 12'h08A; |
rommem[ 8670] <= 12'hC00; |
rommem[ 8671] <= 12'h05F; |
rommem[ 8672] <= 12'h01F; |
rommem[ 8673] <= 12'h001; |
rommem[ 8674] <= 12'h034; |
rommem[ 8675] <= 12'h006; |
rommem[ 8676] <= 12'h18E; |
rommem[ 8677] <= 12'hE00; |
rommem[ 8678] <= 12'h000; |
rommem[ 8679] <= 12'h0CE; |
rommem[ 8680] <= 12'h000; |
rommem[ 8681] <= 12'h400; |
rommem[ 8682] <= 12'h0EC; |
rommem[ 8683] <= 12'h801; |
rommem[ 8684] <= 12'h0ED; |
rommem[ 8685] <= 12'hA01; |
rommem[ 8686] <= 12'h033; |
rommem[ 8687] <= 12'h5FF; |
rommem[ 8688] <= 12'h283; |
rommem[ 8689] <= 12'h000; |
rommem[ 8690] <= 12'h000; |
rommem[ 8691] <= 12'h026; |
rommem[ 8692] <= 12'hFF5; |
rommem[ 8693] <= 12'h035; |
rommem[ 8694] <= 12'h010; |
rommem[ 8695] <= 12'h0E6; |
rommem[ 8696] <= 12'h808; |
rommem[ 8697] <= 12'h110; |
rommem[ 8698] <= 12'h086; |
rommem[ 8699] <= 12'h040; |
rommem[ 8700] <= 12'h03D; |
rommem[ 8701] <= 12'h01F; |
rommem[ 8702] <= 12'h002; |
rommem[ 8703] <= 12'h0E6; |
rommem[ 8704] <= 12'h808; |
rommem[ 8705] <= 12'h111; |
rommem[ 8706] <= 12'h01F; |
rommem[ 8707] <= 12'h021; |
rommem[ 8708] <= 12'h03A; |
rommem[ 8709] <= 12'h015; |
rommem[ 8710] <= 12'h0BF; |
rommem[ 8711] <= 12'hFFF; |
rommem[ 8712] <= 12'hE07; |
rommem[ 8713] <= 12'hF22; |
rommem[ 8714] <= 12'h035; |
rommem[ 8715] <= 12'h0F6; |
rommem[ 8716] <= 12'h034; |
rommem[ 8717] <= 12'h076; |
rommem[ 8718] <= 12'h08D; |
rommem[ 8719] <= 12'h08D; |
rommem[ 8720] <= 12'h01F; |
rommem[ 8721] <= 12'h002; |
rommem[ 8722] <= 12'h08E; |
rommem[ 8723] <= 12'hE00; |
rommem[ 8724] <= 12'h000; |
rommem[ 8725] <= 12'h0CE; |
rommem[ 8726] <= 12'h000; |
rommem[ 8727] <= 12'h400; |
rommem[ 8728] <= 12'h0EC; |
rommem[ 8729] <= 12'h801; |
rommem[ 8730] <= 12'h0ED; |
rommem[ 8731] <= 12'hA01; |
rommem[ 8732] <= 12'h033; |
rommem[ 8733] <= 12'h5FF; |
rommem[ 8734] <= 12'h283; |
rommem[ 8735] <= 12'h000; |
rommem[ 8736] <= 12'h000; |
rommem[ 8737] <= 12'h026; |
rommem[ 8738] <= 12'hFF5; |
rommem[ 8739] <= 12'h035; |
rommem[ 8740] <= 12'h0F6; |
rommem[ 8741] <= 12'h054; |
rommem[ 8742] <= 12'h053; |
rommem[ 8743] <= 12'h043; |
rommem[ 8744] <= 12'h052; |
rommem[ 8745] <= 12'h020; |
rommem[ 8746] <= 12'hFFE; |
rommem[ 8747] <= 12'h234; |
rommem[ 8748] <= 12'hFFE; |
rommem[ 8749] <= 12'h235; |
rommem[ 8750] <= 12'hFFE; |
rommem[ 8751] <= 12'h236; |
rommem[ 8752] <= 12'hFFE; |
rommem[ 8753] <= 12'h237; |
rommem[ 8754] <= 12'hFFE; |
rommem[ 8755] <= 12'h238; |
rommem[ 8756] <= 12'h039; |
rommem[ 8757] <= 12'h039; |
rommem[ 8758] <= 12'h039; |
rommem[ 8742] <= 12'h045; |
rommem[ 8743] <= 12'h058; |
rommem[ 8744] <= 12'h054; |
rommem[ 8745] <= 12'h053; |
rommem[ 8746] <= 12'h043; |
rommem[ 8747] <= 12'h052; |
rommem[ 8748] <= 12'h020; |
rommem[ 8749] <= 12'hFFE; |
rommem[ 8750] <= 12'h237; |
rommem[ 8751] <= 12'hFFE; |
rommem[ 8752] <= 12'h238; |
rommem[ 8753] <= 12'hFFE; |
rommem[ 8754] <= 12'h239; |
rommem[ 8755] <= 12'hFFE; |
rommem[ 8756] <= 12'h23A; |
rommem[ 8757] <= 12'hFFE; |
rommem[ 8758] <= 12'h23B; |
rommem[ 8759] <= 12'h039; |
rommem[ 8760] <= 12'h039; |
rommem[ 8761] <= 12'h034; |
rommem[ 8762] <= 12'h076; |
rommem[ 8763] <= 12'h08E; |
rommem[ 8764] <= 12'h000; |
rommem[ 8765] <= 12'h800; |
rommem[ 8766] <= 12'h01F; |
rommem[ 8767] <= 12'h013; |
rommem[ 8768] <= 12'h08D; |
rommem[ 8769] <= 12'h058; |
rommem[ 8770] <= 12'h01F; |
rommem[ 8771] <= 12'h002; |
rommem[ 8772] <= 12'h0C6; |
rommem[ 8773] <= 12'h020; |
rommem[ 8774] <= 12'h0E7; |
rommem[ 8775] <= 12'hA00; |
rommem[ 8776] <= 12'h030; |
rommem[ 8777] <= 12'h1FF; |
rommem[ 8778] <= 12'h026; |
rommem[ 8779] <= 12'hFFA; |
rommem[ 8780] <= 12'h015; |
rommem[ 8781] <= 12'h0F6; |
rommem[ 8782] <= 12'hFFF; |
rommem[ 8783] <= 12'hFFF; |
rommem[ 8784] <= 12'hFE0; |
rommem[ 8785] <= 12'h0F1; |
rommem[ 8786] <= 12'hFFC; |
rommem[ 8787] <= 12'h010; |
rommem[ 8788] <= 12'h020; |
rommem[ 8789] <= 12'h00D; |
rommem[ 8790] <= 12'h18E; |
rommem[ 8791] <= 12'hE02; |
rommem[ 8792] <= 12'h000; |
rommem[ 8793] <= 12'h086; |
rommem[ 8794] <= 12'h0CE; |
rommem[ 8795] <= 12'h01F; |
rommem[ 8796] <= 12'h031; |
rommem[ 8797] <= 12'h0A7; |
rommem[ 8798] <= 12'hA00; |
rommem[ 8799] <= 12'h030; |
rommem[ 8800] <= 12'h1FF; |
rommem[ 8801] <= 12'h026; |
rommem[ 8802] <= 12'hFFA; |
rommem[ 8803] <= 12'h035; |
rommem[ 8804] <= 12'h0F6; |
rommem[ 8805] <= 12'h034; |
rommem[ 8806] <= 12'h076; |
rommem[ 8807] <= 12'h18E; |
rommem[ 8808] <= 12'h000; |
rommem[ 8809] <= 12'h3FF; |
rommem[ 8810] <= 12'h08D; |
rommem[ 8811] <= 12'h02E; |
rommem[ 8812] <= 12'h01F; |
rommem[ 8813] <= 12'h001; |
rommem[ 8814] <= 12'h01F; |
rommem[ 8815] <= 12'h003; |
rommem[ 8816] <= 12'h030; |
rommem[ 8817] <= 12'h040; |
rommem[ 8818] <= 12'h0EC; |
rommem[ 8819] <= 12'h801; |
rommem[ 8820] <= 12'h0ED; |
rommem[ 8821] <= 12'hC01; |
rommem[ 8822] <= 12'h031; |
rommem[ 8823] <= 12'h3FF; |
rommem[ 8824] <= 12'h026; |
rommem[ 8825] <= 12'hFF8; |
rommem[ 8826] <= 12'h086; |
rommem[ 8827] <= 12'h01F; |
rommem[ 8828] <= 12'h08D; |
rommem[ 8829] <= 12'h002; |
rommem[ 8830] <= 12'h035; |
rommem[ 8831] <= 12'h0F6; |
rommem[ 8832] <= 12'h034; |
rommem[ 8833] <= 12'h016; |
rommem[ 8834] <= 12'h034; |
rommem[ 8835] <= 12'h002; |
rommem[ 8836] <= 12'h08D; |
rommem[ 8837] <= 12'h014; |
rommem[ 8838] <= 12'h01F; |
rommem[ 8839] <= 12'h001; |
rommem[ 8840] <= 12'h035; |
rommem[ 8841] <= 12'h002; |
rommem[ 8842] <= 12'h0C6; |
rommem[ 8843] <= 12'h040; |
rommem[ 8844] <= 12'h03D; |
rommem[ 8845] <= 12'h030; |
rommem[ 8846] <= 12'h80B; |
rommem[ 8847] <= 12'h086; |
rommem[ 8848] <= 12'h020; |
rommem[ 8849] <= 12'h0C6; |
rommem[ 8850] <= 12'h040; |
rommem[ 8851] <= 12'h0A7; |
rommem[ 8852] <= 12'h800; |
rommem[ 8853] <= 12'h05A; |
rommem[ 8854] <= 12'h026; |
rommem[ 8855] <= 12'hFFB; |
rommem[ 8856] <= 12'h035; |
rommem[ 8857] <= 12'h096; |
rommem[ 8858] <= 12'h015; |
rommem[ 8859] <= 12'h0B6; |
rommem[ 8860] <= 12'hFFF; |
rommem[ 8861] <= 12'hFFF; |
rommem[ 8862] <= 12'hFE0; |
rommem[ 8863] <= 12'h0B1; |
rommem[ 8864] <= 12'hFFC; |
rommem[ 8865] <= 12'h010; |
rommem[ 8866] <= 12'h026; |
rommem[ 8867] <= 12'h008; |
rommem[ 8868] <= 12'h081; |
rommem[ 8869] <= 12'h020; |
rommem[ 8870] <= 12'h027; |
rommem[ 8871] <= 12'h004; |
rommem[ 8872] <= 12'h0CC; |
rommem[ 8873] <= 12'hE00; |
rommem[ 8874] <= 12'h000; |
rommem[ 8875] <= 12'h039; |
rommem[ 8876] <= 12'h0CC; |
rommem[ 8877] <= 12'h007; |
rommem[ 8878] <= 12'h800; |
rommem[ 8879] <= 12'h039; |
rommem[ 8880] <= 12'h034; |
rommem[ 8881] <= 12'h016; |
rommem[ 8882] <= 12'h00F; |
rommem[ 8883] <= 12'h110; |
rommem[ 8884] <= 12'h00F; |
rommem[ 8885] <= 12'h111; |
rommem[ 8886] <= 12'h015; |
rommem[ 8887] <= 12'h0F6; |
rommem[ 8888] <= 12'hFFF; |
rommem[ 8889] <= 12'hFFF; |
rommem[ 8890] <= 12'hFE0; |
rommem[ 8891] <= 12'h0F1; |
rommem[ 8892] <= 12'hFFC; |
rommem[ 8893] <= 12'h010; |
rommem[ 8894] <= 12'h026; |
rommem[ 8895] <= 12'h00A; |
rommem[ 8896] <= 12'h0C1; |
rommem[ 8897] <= 12'h020; |
rommem[ 8898] <= 12'h027; |
rommem[ 8899] <= 12'h006; |
rommem[ 8900] <= 12'h04F; |
rommem[ 8901] <= 12'h015; |
rommem[ 8902] <= 12'h0B7; |
rommem[ 8903] <= 12'hFFF; |
rommem[ 8904] <= 12'hE07; |
rommem[ 8905] <= 12'hF22; |
rommem[ 8906] <= 12'h035; |
rommem[ 8907] <= 12'h096; |
rommem[ 8908] <= 12'h034; |
rommem[ 8909] <= 12'h016; |
rommem[ 8910] <= 12'h015; |
rommem[ 8911] <= 12'h0F6; |
rommem[ 8912] <= 12'hFFF; |
rommem[ 8913] <= 12'hFFF; |
rommem[ 8914] <= 12'hFE0; |
rommem[ 8915] <= 12'h0F1; |
rommem[ 8916] <= 12'hFFC; |
rommem[ 8917] <= 12'h010; |
rommem[ 8918] <= 12'h026; |
rommem[ 8919] <= 12'h018; |
rommem[ 8920] <= 12'h0C1; |
rommem[ 8921] <= 12'h020; |
rommem[ 8922] <= 12'h027; |
rommem[ 8923] <= 12'h014; |
rommem[ 8924] <= 12'h096; |
rommem[ 8925] <= 12'h110; |
rommem[ 8926] <= 12'h084; |
rommem[ 8927] <= 12'h03F; |
rommem[ 8928] <= 12'h015; |
rommem[ 8929] <= 12'h0F6; |
rommem[ 8930] <= 12'hFFF; |
rommem[ 8931] <= 12'hE07; |
rommem[ 8932] <= 12'hF00; |
rommem[ 8933] <= 12'h03D; |
rommem[ 8934] <= 12'h01F; |
rommem[ 8935] <= 12'h001; |
rommem[ 8936] <= 12'h0D6; |
rommem[ 8937] <= 12'h111; |
rommem[ 8938] <= 12'h03A; |
rommem[ 8939] <= 12'h015; |
rommem[ 8940] <= 12'h0BF; |
rommem[ 8941] <= 12'hFFF; |
rommem[ 8942] <= 12'hE07; |
rommem[ 8943] <= 12'hF22; |
rommem[ 8944] <= 12'h035; |
rommem[ 8945] <= 12'h096; |
rommem[ 8946] <= 12'h034; |
rommem[ 8947] <= 12'h010; |
rommem[ 8761] <= 12'h039; |
rommem[ 8762] <= 12'h039; |
rommem[ 8763] <= 12'h039; |
rommem[ 8764] <= 12'h034; |
rommem[ 8765] <= 12'h076; |
rommem[ 8766] <= 12'h08E; |
rommem[ 8767] <= 12'h000; |
rommem[ 8768] <= 12'h800; |
rommem[ 8769] <= 12'h01F; |
rommem[ 8770] <= 12'h013; |
rommem[ 8771] <= 12'h08D; |
rommem[ 8772] <= 12'h058; |
rommem[ 8773] <= 12'h01F; |
rommem[ 8774] <= 12'h002; |
rommem[ 8775] <= 12'h0C6; |
rommem[ 8776] <= 12'h020; |
rommem[ 8777] <= 12'h0E7; |
rommem[ 8778] <= 12'hA00; |
rommem[ 8779] <= 12'h030; |
rommem[ 8780] <= 12'h1FF; |
rommem[ 8781] <= 12'h026; |
rommem[ 8782] <= 12'hFFA; |
rommem[ 8783] <= 12'h015; |
rommem[ 8784] <= 12'h0F6; |
rommem[ 8785] <= 12'hFFF; |
rommem[ 8786] <= 12'hFFF; |
rommem[ 8787] <= 12'hFE0; |
rommem[ 8788] <= 12'h0F1; |
rommem[ 8789] <= 12'hFFC; |
rommem[ 8790] <= 12'h010; |
rommem[ 8791] <= 12'h020; |
rommem[ 8792] <= 12'h00D; |
rommem[ 8793] <= 12'h18E; |
rommem[ 8794] <= 12'hE02; |
rommem[ 8795] <= 12'h000; |
rommem[ 8796] <= 12'h086; |
rommem[ 8797] <= 12'h0CE; |
rommem[ 8798] <= 12'h01F; |
rommem[ 8799] <= 12'h031; |
rommem[ 8800] <= 12'h0A7; |
rommem[ 8801] <= 12'hA00; |
rommem[ 8802] <= 12'h030; |
rommem[ 8803] <= 12'h1FF; |
rommem[ 8804] <= 12'h026; |
rommem[ 8805] <= 12'hFFA; |
rommem[ 8806] <= 12'h035; |
rommem[ 8807] <= 12'h0F6; |
rommem[ 8808] <= 12'h034; |
rommem[ 8809] <= 12'h076; |
rommem[ 8810] <= 12'h18E; |
rommem[ 8811] <= 12'h000; |
rommem[ 8812] <= 12'h3FF; |
rommem[ 8813] <= 12'h08D; |
rommem[ 8814] <= 12'h02E; |
rommem[ 8815] <= 12'h01F; |
rommem[ 8816] <= 12'h001; |
rommem[ 8817] <= 12'h01F; |
rommem[ 8818] <= 12'h003; |
rommem[ 8819] <= 12'h030; |
rommem[ 8820] <= 12'h040; |
rommem[ 8821] <= 12'h0EC; |
rommem[ 8822] <= 12'h801; |
rommem[ 8823] <= 12'h0ED; |
rommem[ 8824] <= 12'hC01; |
rommem[ 8825] <= 12'h031; |
rommem[ 8826] <= 12'h3FF; |
rommem[ 8827] <= 12'h026; |
rommem[ 8828] <= 12'hFF8; |
rommem[ 8829] <= 12'h086; |
rommem[ 8830] <= 12'h01F; |
rommem[ 8831] <= 12'h08D; |
rommem[ 8832] <= 12'h002; |
rommem[ 8833] <= 12'h035; |
rommem[ 8834] <= 12'h0F6; |
rommem[ 8835] <= 12'h034; |
rommem[ 8836] <= 12'h016; |
rommem[ 8837] <= 12'h034; |
rommem[ 8838] <= 12'h002; |
rommem[ 8839] <= 12'h08D; |
rommem[ 8840] <= 12'h014; |
rommem[ 8841] <= 12'h01F; |
rommem[ 8842] <= 12'h001; |
rommem[ 8843] <= 12'h035; |
rommem[ 8844] <= 12'h002; |
rommem[ 8845] <= 12'h0C6; |
rommem[ 8846] <= 12'h040; |
rommem[ 8847] <= 12'h03D; |
rommem[ 8848] <= 12'h030; |
rommem[ 8849] <= 12'h80B; |
rommem[ 8850] <= 12'h086; |
rommem[ 8851] <= 12'h020; |
rommem[ 8852] <= 12'h0C6; |
rommem[ 8853] <= 12'h040; |
rommem[ 8854] <= 12'h0A7; |
rommem[ 8855] <= 12'h800; |
rommem[ 8856] <= 12'h05A; |
rommem[ 8857] <= 12'h026; |
rommem[ 8858] <= 12'hFFB; |
rommem[ 8859] <= 12'h035; |
rommem[ 8860] <= 12'h096; |
rommem[ 8861] <= 12'h015; |
rommem[ 8862] <= 12'h0B6; |
rommem[ 8863] <= 12'hFFF; |
rommem[ 8864] <= 12'hFFF; |
rommem[ 8865] <= 12'hFE0; |
rommem[ 8866] <= 12'h0B1; |
rommem[ 8867] <= 12'hFFC; |
rommem[ 8868] <= 12'h010; |
rommem[ 8869] <= 12'h026; |
rommem[ 8870] <= 12'h008; |
rommem[ 8871] <= 12'h081; |
rommem[ 8872] <= 12'h020; |
rommem[ 8873] <= 12'h027; |
rommem[ 8874] <= 12'h004; |
rommem[ 8875] <= 12'h0CC; |
rommem[ 8876] <= 12'hE00; |
rommem[ 8877] <= 12'h000; |
rommem[ 8878] <= 12'h039; |
rommem[ 8879] <= 12'h0CC; |
rommem[ 8880] <= 12'h007; |
rommem[ 8881] <= 12'h800; |
rommem[ 8882] <= 12'h039; |
rommem[ 8883] <= 12'h034; |
rommem[ 8884] <= 12'h016; |
rommem[ 8885] <= 12'h00F; |
rommem[ 8886] <= 12'h110; |
rommem[ 8887] <= 12'h00F; |
rommem[ 8888] <= 12'h111; |
rommem[ 8889] <= 12'h015; |
rommem[ 8890] <= 12'h0F6; |
rommem[ 8891] <= 12'hFFF; |
rommem[ 8892] <= 12'hFFF; |
rommem[ 8893] <= 12'hFE0; |
rommem[ 8894] <= 12'h0F1; |
rommem[ 8895] <= 12'hFFC; |
rommem[ 8896] <= 12'h010; |
rommem[ 8897] <= 12'h026; |
rommem[ 8898] <= 12'h00A; |
rommem[ 8899] <= 12'h0C1; |
rommem[ 8900] <= 12'h020; |
rommem[ 8901] <= 12'h027; |
rommem[ 8902] <= 12'h006; |
rommem[ 8903] <= 12'h04F; |
rommem[ 8904] <= 12'h015; |
rommem[ 8905] <= 12'h0B7; |
rommem[ 8906] <= 12'hFFF; |
rommem[ 8907] <= 12'hE07; |
rommem[ 8908] <= 12'hF22; |
rommem[ 8909] <= 12'h035; |
rommem[ 8910] <= 12'h096; |
rommem[ 8911] <= 12'h034; |
rommem[ 8912] <= 12'h016; |
rommem[ 8913] <= 12'h015; |
rommem[ 8914] <= 12'h0F6; |
rommem[ 8915] <= 12'hFFF; |
rommem[ 8916] <= 12'hFFF; |
rommem[ 8917] <= 12'hFE0; |
rommem[ 8918] <= 12'h0F1; |
rommem[ 8919] <= 12'hFFC; |
rommem[ 8920] <= 12'h010; |
rommem[ 8921] <= 12'h026; |
rommem[ 8922] <= 12'h018; |
rommem[ 8923] <= 12'h0C1; |
rommem[ 8924] <= 12'h020; |
rommem[ 8925] <= 12'h027; |
rommem[ 8926] <= 12'h014; |
rommem[ 8927] <= 12'h096; |
rommem[ 8928] <= 12'h110; |
rommem[ 8929] <= 12'h084; |
rommem[ 8930] <= 12'h03F; |
rommem[ 8931] <= 12'h015; |
rommem[ 8932] <= 12'h0F6; |
rommem[ 8933] <= 12'hFFF; |
rommem[ 8934] <= 12'hE07; |
rommem[ 8935] <= 12'hF00; |
rommem[ 8936] <= 12'h03D; |
rommem[ 8937] <= 12'h01F; |
rommem[ 8938] <= 12'h001; |
rommem[ 8939] <= 12'h0D6; |
rommem[ 8940] <= 12'h111; |
rommem[ 8941] <= 12'h03A; |
rommem[ 8942] <= 12'h015; |
rommem[ 8943] <= 12'h0BF; |
rommem[ 8944] <= 12'hFFF; |
rommem[ 8945] <= 12'hE07; |
rommem[ 8946] <= 12'hF22; |
rommem[ 8947] <= 12'h035; |
rommem[ 8948] <= 12'h096; |
rommem[ 8949] <= 12'h110; |
rommem[ 8950] <= 12'h0C6; |
rommem[ 8951] <= 12'h040; |
rommem[ 8952] <= 12'h03D; |
rommem[ 8953] <= 12'h01F; |
rommem[ 8954] <= 12'h001; |
rommem[ 8955] <= 12'h0D6; |
rommem[ 8956] <= 12'h111; |
rommem[ 8957] <= 12'h03A; |
rommem[ 8958] <= 12'h015; |
rommem[ 8959] <= 12'h0F6; |
rommem[ 8960] <= 12'hFFF; |
rommem[ 8961] <= 12'hFFF; |
rommem[ 8962] <= 12'hFE0; |
rommem[ 8963] <= 12'h0F1; |
rommem[ 8964] <= 12'hFFC; |
rommem[ 8965] <= 12'h010; |
rommem[ 8966] <= 12'h026; |
rommem[ 8967] <= 12'h009; |
rommem[ 8968] <= 12'h0C1; |
rommem[ 8969] <= 12'h020; |
rommem[ 8970] <= 12'h027; |
rommem[ 8971] <= 12'h005; |
rommem[ 8972] <= 12'h015; |
rommem[ 8973] <= 12'h0BF; |
rommem[ 8974] <= 12'hFFF; |
rommem[ 8975] <= 12'hE07; |
rommem[ 8976] <= 12'hF22; |
rommem[ 8977] <= 12'h08D; |
rommem[ 8978] <= 12'hF87; |
rommem[ 8979] <= 12'h030; |
rommem[ 8980] <= 12'h80B; |
rommem[ 8981] <= 12'h01F; |
rommem[ 8982] <= 12'h010; |
rommem[ 8983] <= 12'h035; |
rommem[ 8984] <= 12'h090; |
rommem[ 8985] <= 12'h017; |
rommem[ 8986] <= 12'h000; |
rommem[ 8987] <= 12'h96C; |
rommem[ 8988] <= 12'h034; |
rommem[ 8989] <= 12'h016; |
rommem[ 8990] <= 12'h0C1; |
rommem[ 8991] <= 12'h00D; |
rommem[ 8992] <= 12'h026; |
rommem[ 8993] <= 12'h007; |
rommem[ 8994] <= 12'h00F; |
rommem[ 8995] <= 12'h111; |
rommem[ 8996] <= 12'h08D; |
rommem[ 8997] <= 12'hFA6; |
rommem[ 8998] <= 12'h016; |
rommem[ 8999] <= 12'h000; |
rommem[ 9000] <= 12'h08C; |
rommem[ 9001] <= 12'h0C1; |
rommem[ 9002] <= 12'h091; |
rommem[ 9003] <= 12'h026; |
rommem[ 9004] <= 12'h00D; |
rommem[ 9005] <= 12'h096; |
rommem[ 9006] <= 12'h111; |
rommem[ 9007] <= 12'h081; |
rommem[ 9008] <= 12'h040; |
rommem[ 9009] <= 12'h024; |
rommem[ 9010] <= 12'h003; |
rommem[ 9011] <= 12'h04C; |
rommem[ 9012] <= 12'h097; |
rommem[ 9013] <= 12'h111; |
rommem[ 9014] <= 12'h08D; |
rommem[ 9015] <= 12'hF94; |
rommem[ 9016] <= 12'h035; |
rommem[ 9017] <= 12'h096; |
rommem[ 9018] <= 12'h0C1; |
rommem[ 9019] <= 12'h090; |
rommem[ 9020] <= 12'h026; |
rommem[ 9021] <= 12'h009; |
rommem[ 9022] <= 12'h096; |
rommem[ 9023] <= 12'h110; |
rommem[ 9024] <= 12'h027; |
rommem[ 9025] <= 12'hFF4; |
rommem[ 9026] <= 12'h04A; |
rommem[ 9027] <= 12'h097; |
rommem[ 9028] <= 12'h110; |
rommem[ 9029] <= 12'h020; |
rommem[ 9030] <= 12'hFEF; |
rommem[ 9031] <= 12'h0C1; |
rommem[ 9032] <= 12'h093; |
rommem[ 9033] <= 12'h026; |
rommem[ 9034] <= 12'h009; |
rommem[ 9035] <= 12'h096; |
rommem[ 9036] <= 12'h111; |
rommem[ 9037] <= 12'h027; |
rommem[ 9038] <= 12'hFE7; |
rommem[ 9039] <= 12'h04A; |
rommem[ 9040] <= 12'h097; |
rommem[ 9041] <= 12'h111; |
rommem[ 9042] <= 12'h020; |
rommem[ 9043] <= 12'hFE2; |
rommem[ 9044] <= 12'h0C1; |
rommem[ 9045] <= 12'h092; |
rommem[ 9046] <= 12'h026; |
rommem[ 9047] <= 12'h00B; |
rommem[ 9048] <= 12'h096; |
rommem[ 9049] <= 12'h110; |
rommem[ 9050] <= 12'h081; |
rommem[ 9051] <= 12'h020; |
rommem[ 9052] <= 12'h027; |
rommem[ 9053] <= 12'hFD8; |
rommem[ 9054] <= 12'h04C; |
rommem[ 9055] <= 12'h097; |
rommem[ 9056] <= 12'h110; |
rommem[ 9057] <= 12'h020; |
rommem[ 9058] <= 12'hFD3; |
rommem[ 9059] <= 12'h0C1; |
rommem[ 9060] <= 12'h094; |
rommem[ 9061] <= 12'h026; |
rommem[ 9062] <= 12'h00C; |
rommem[ 9063] <= 12'h096; |
rommem[ 9064] <= 12'h111; |
rommem[ 9065] <= 12'h027; |
rommem[ 9066] <= 12'h004; |
rommem[ 9067] <= 12'h00F; |
rommem[ 9068] <= 12'h111; |
rommem[ 9069] <= 12'h020; |
rommem[ 9070] <= 12'hFC7; |
rommem[ 9071] <= 12'h00F; |
rommem[ 9072] <= 12'h110; |
rommem[ 9073] <= 12'h020; |
rommem[ 9074] <= 12'hFC3; |
rommem[ 9075] <= 12'h0C1; |
rommem[ 9076] <= 12'h099; |
rommem[ 9077] <= 12'h026; |
rommem[ 9078] <= 12'h008; |
rommem[ 9079] <= 12'h08D; |
rommem[ 9080] <= 12'hF79; |
rommem[ 9081] <= 12'h01F; |
rommem[ 9082] <= 12'h001; |
rommem[ 9083] <= 12'h096; |
rommem[ 9084] <= 12'h111; |
rommem[ 9085] <= 12'h020; |
rommem[ 9086] <= 12'h011; |
rommem[ 9087] <= 12'h0C1; |
rommem[ 9088] <= 12'h008; |
rommem[ 9089] <= 12'h026; |
rommem[ 9090] <= 12'h01E; |
rommem[ 9091] <= 12'h096; |
rommem[ 9092] <= 12'h111; |
rommem[ 9093] <= 12'h027; |
rommem[ 9094] <= 12'h02E; |
rommem[ 9095] <= 12'h04A; |
rommem[ 9096] <= 12'h097; |
rommem[ 9097] <= 12'h111; |
rommem[ 9098] <= 12'h08D; |
rommem[ 9099] <= 12'hF66; |
rommem[ 9100] <= 12'h01F; |
rommem[ 9101] <= 12'h001; |
rommem[ 9102] <= 12'h096; |
rommem[ 9103] <= 12'h111; |
rommem[ 9104] <= 12'h0E6; |
rommem[ 9105] <= 12'h001; |
rommem[ 9106] <= 12'h0E7; |
rommem[ 9107] <= 12'h801; |
rommem[ 9108] <= 12'h04C; |
rommem[ 9109] <= 12'h081; |
rommem[ 9110] <= 12'h040; |
rommem[ 9111] <= 12'h025; |
rommem[ 9112] <= 12'hFF7; |
rommem[ 9113] <= 12'h0C6; |
rommem[ 9114] <= 12'h020; |
rommem[ 9115] <= 12'h030; |
rommem[ 9116] <= 12'h1FF; |
rommem[ 9117] <= 12'h0E7; |
rommem[ 9118] <= 12'h804; |
rommem[ 9119] <= 12'h020; |
rommem[ 9120] <= 12'h014; |
rommem[ 9121] <= 12'h0C1; |
rommem[ 9122] <= 12'h00A; |
rommem[ 9123] <= 12'h027; |
rommem[ 9124] <= 12'h00E; |
rommem[ 9125] <= 12'h034; |
rommem[ 9126] <= 12'h004; |
rommem[ 9127] <= 12'h08D; |
rommem[ 9128] <= 12'hF49; |
rommem[ 9129] <= 12'h01F; |
rommem[ 9130] <= 12'h001; |
rommem[ 9131] <= 12'h035; |
rommem[ 9132] <= 12'h004; |
rommem[ 9133] <= 12'h0E7; |
rommem[ 9134] <= 12'h804; |
rommem[ 9135] <= 12'h08D; |
rommem[ 9136] <= 12'h006; |
rommem[ 9137] <= 12'h020; |
rommem[ 9138] <= 12'h002; |
rommem[ 9139] <= 12'h08D; |
rommem[ 9140] <= 12'h011; |
rommem[ 9141] <= 12'h035; |
rommem[ 9142] <= 12'h096; |
rommem[ 9143] <= 12'h034; |
rommem[ 9144] <= 12'h016; |
rommem[ 8949] <= 12'h034; |
rommem[ 8950] <= 12'h010; |
rommem[ 8951] <= 12'h096; |
rommem[ 8952] <= 12'h110; |
rommem[ 8953] <= 12'h0C6; |
rommem[ 8954] <= 12'h040; |
rommem[ 8955] <= 12'h03D; |
rommem[ 8956] <= 12'h01F; |
rommem[ 8957] <= 12'h001; |
rommem[ 8958] <= 12'h0D6; |
rommem[ 8959] <= 12'h111; |
rommem[ 8960] <= 12'h03A; |
rommem[ 8961] <= 12'h015; |
rommem[ 8962] <= 12'h0F6; |
rommem[ 8963] <= 12'hFFF; |
rommem[ 8964] <= 12'hFFF; |
rommem[ 8965] <= 12'hFE0; |
rommem[ 8966] <= 12'h0F1; |
rommem[ 8967] <= 12'hFFC; |
rommem[ 8968] <= 12'h010; |
rommem[ 8969] <= 12'h026; |
rommem[ 8970] <= 12'h009; |
rommem[ 8971] <= 12'h0C1; |
rommem[ 8972] <= 12'h020; |
rommem[ 8973] <= 12'h027; |
rommem[ 8974] <= 12'h005; |
rommem[ 8975] <= 12'h015; |
rommem[ 8976] <= 12'h0BF; |
rommem[ 8977] <= 12'hFFF; |
rommem[ 8978] <= 12'hE07; |
rommem[ 8979] <= 12'hF22; |
rommem[ 8980] <= 12'h08D; |
rommem[ 8981] <= 12'hF87; |
rommem[ 8982] <= 12'h030; |
rommem[ 8983] <= 12'h80B; |
rommem[ 8984] <= 12'h01F; |
rommem[ 8985] <= 12'h010; |
rommem[ 8986] <= 12'h035; |
rommem[ 8987] <= 12'h090; |
rommem[ 8988] <= 12'h017; |
rommem[ 8989] <= 12'h000; |
rommem[ 8990] <= 12'h97B; |
rommem[ 8991] <= 12'h034; |
rommem[ 8992] <= 12'h016; |
rommem[ 8993] <= 12'h0C1; |
rommem[ 8994] <= 12'h00D; |
rommem[ 8995] <= 12'h026; |
rommem[ 8996] <= 12'h007; |
rommem[ 8997] <= 12'h00F; |
rommem[ 8998] <= 12'h111; |
rommem[ 8999] <= 12'h08D; |
rommem[ 9000] <= 12'hFA6; |
rommem[ 9001] <= 12'h016; |
rommem[ 9002] <= 12'h000; |
rommem[ 9003] <= 12'h08C; |
rommem[ 9004] <= 12'h0C1; |
rommem[ 9005] <= 12'h091; |
rommem[ 9006] <= 12'h026; |
rommem[ 9007] <= 12'h00D; |
rommem[ 9008] <= 12'h096; |
rommem[ 9009] <= 12'h111; |
rommem[ 9010] <= 12'h081; |
rommem[ 9011] <= 12'h040; |
rommem[ 9012] <= 12'h024; |
rommem[ 9013] <= 12'h003; |
rommem[ 9014] <= 12'h04C; |
rommem[ 9015] <= 12'h097; |
rommem[ 9016] <= 12'h111; |
rommem[ 9017] <= 12'h08D; |
rommem[ 9018] <= 12'hF94; |
rommem[ 9019] <= 12'h035; |
rommem[ 9020] <= 12'h096; |
rommem[ 9021] <= 12'h0C1; |
rommem[ 9022] <= 12'h090; |
rommem[ 9023] <= 12'h026; |
rommem[ 9024] <= 12'h009; |
rommem[ 9025] <= 12'h096; |
rommem[ 9026] <= 12'h110; |
rommem[ 9027] <= 12'h027; |
rommem[ 9028] <= 12'hFF4; |
rommem[ 9029] <= 12'h04A; |
rommem[ 9030] <= 12'h097; |
rommem[ 9031] <= 12'h110; |
rommem[ 9032] <= 12'h020; |
rommem[ 9033] <= 12'hFEF; |
rommem[ 9034] <= 12'h0C1; |
rommem[ 9035] <= 12'h093; |
rommem[ 9036] <= 12'h026; |
rommem[ 9037] <= 12'h009; |
rommem[ 9038] <= 12'h096; |
rommem[ 9039] <= 12'h111; |
rommem[ 9040] <= 12'h027; |
rommem[ 9041] <= 12'hFE7; |
rommem[ 9042] <= 12'h04A; |
rommem[ 9043] <= 12'h097; |
rommem[ 9044] <= 12'h111; |
rommem[ 9045] <= 12'h020; |
rommem[ 9046] <= 12'hFE2; |
rommem[ 9047] <= 12'h0C1; |
rommem[ 9048] <= 12'h092; |
rommem[ 9049] <= 12'h026; |
rommem[ 9050] <= 12'h00B; |
rommem[ 9051] <= 12'h096; |
rommem[ 9052] <= 12'h110; |
rommem[ 9053] <= 12'h081; |
rommem[ 9054] <= 12'h020; |
rommem[ 9055] <= 12'h027; |
rommem[ 9056] <= 12'hFD8; |
rommem[ 9057] <= 12'h04C; |
rommem[ 9058] <= 12'h097; |
rommem[ 9059] <= 12'h110; |
rommem[ 9060] <= 12'h020; |
rommem[ 9061] <= 12'hFD3; |
rommem[ 9062] <= 12'h0C1; |
rommem[ 9063] <= 12'h094; |
rommem[ 9064] <= 12'h026; |
rommem[ 9065] <= 12'h00C; |
rommem[ 9066] <= 12'h096; |
rommem[ 9067] <= 12'h111; |
rommem[ 9068] <= 12'h027; |
rommem[ 9069] <= 12'h004; |
rommem[ 9070] <= 12'h00F; |
rommem[ 9071] <= 12'h111; |
rommem[ 9072] <= 12'h020; |
rommem[ 9073] <= 12'hFC7; |
rommem[ 9074] <= 12'h00F; |
rommem[ 9075] <= 12'h110; |
rommem[ 9076] <= 12'h020; |
rommem[ 9077] <= 12'hFC3; |
rommem[ 9078] <= 12'h0C1; |
rommem[ 9079] <= 12'h099; |
rommem[ 9080] <= 12'h026; |
rommem[ 9081] <= 12'h008; |
rommem[ 9082] <= 12'h08D; |
rommem[ 9083] <= 12'hF79; |
rommem[ 9084] <= 12'h01F; |
rommem[ 9085] <= 12'h001; |
rommem[ 9086] <= 12'h096; |
rommem[ 9087] <= 12'h111; |
rommem[ 9088] <= 12'h020; |
rommem[ 9089] <= 12'h011; |
rommem[ 9090] <= 12'h0C1; |
rommem[ 9091] <= 12'h008; |
rommem[ 9092] <= 12'h026; |
rommem[ 9093] <= 12'h01E; |
rommem[ 9094] <= 12'h096; |
rommem[ 9095] <= 12'h111; |
rommem[ 9096] <= 12'h027; |
rommem[ 9097] <= 12'h02E; |
rommem[ 9098] <= 12'h04A; |
rommem[ 9099] <= 12'h097; |
rommem[ 9100] <= 12'h111; |
rommem[ 9101] <= 12'h08D; |
rommem[ 9102] <= 12'hF66; |
rommem[ 9103] <= 12'h01F; |
rommem[ 9104] <= 12'h001; |
rommem[ 9105] <= 12'h096; |
rommem[ 9106] <= 12'h111; |
rommem[ 9107] <= 12'h0E6; |
rommem[ 9108] <= 12'h001; |
rommem[ 9109] <= 12'h0E7; |
rommem[ 9110] <= 12'h801; |
rommem[ 9111] <= 12'h04C; |
rommem[ 9112] <= 12'h081; |
rommem[ 9113] <= 12'h040; |
rommem[ 9114] <= 12'h025; |
rommem[ 9115] <= 12'hFF7; |
rommem[ 9116] <= 12'h0C6; |
rommem[ 9117] <= 12'h020; |
rommem[ 9118] <= 12'h030; |
rommem[ 9119] <= 12'h1FF; |
rommem[ 9120] <= 12'h0E7; |
rommem[ 9121] <= 12'h804; |
rommem[ 9122] <= 12'h020; |
rommem[ 9123] <= 12'h014; |
rommem[ 9124] <= 12'h0C1; |
rommem[ 9125] <= 12'h00A; |
rommem[ 9126] <= 12'h027; |
rommem[ 9127] <= 12'h00E; |
rommem[ 9128] <= 12'h034; |
rommem[ 9129] <= 12'h004; |
rommem[ 9130] <= 12'h08D; |
rommem[ 9131] <= 12'hF49; |
rommem[ 9132] <= 12'h01F; |
rommem[ 9133] <= 12'h001; |
rommem[ 9134] <= 12'h035; |
rommem[ 9135] <= 12'h004; |
rommem[ 9136] <= 12'h0E7; |
rommem[ 9137] <= 12'h804; |
rommem[ 9138] <= 12'h08D; |
rommem[ 9139] <= 12'h006; |
rommem[ 9140] <= 12'h020; |
rommem[ 9141] <= 12'h002; |
rommem[ 9142] <= 12'h08D; |
rommem[ 9143] <= 12'h011; |
rommem[ 9144] <= 12'h035; |
rommem[ 9145] <= 12'h096; |
rommem[ 9146] <= 12'h111; |
rommem[ 9147] <= 12'h04C; |
rommem[ 9148] <= 12'h097; |
rommem[ 9146] <= 12'h034; |
rommem[ 9147] <= 12'h016; |
rommem[ 9148] <= 12'h096; |
rommem[ 9149] <= 12'h111; |
rommem[ 9150] <= 12'h081; |
rommem[ 9151] <= 12'h040; |
rommem[ 9152] <= 12'h025; |
rommem[ 9153] <= 12'h014; |
rommem[ 9154] <= 12'h00F; |
rommem[ 9155] <= 12'h111; |
rommem[ 9156] <= 12'h020; |
rommem[ 9157] <= 12'h002; |
rommem[ 9158] <= 12'h034; |
rommem[ 9159] <= 12'h016; |
rommem[ 9160] <= 12'h096; |
rommem[ 9161] <= 12'h110; |
rommem[ 9162] <= 12'h04C; |
rommem[ 9163] <= 12'h097; |
rommem[ 9150] <= 12'h04C; |
rommem[ 9151] <= 12'h097; |
rommem[ 9152] <= 12'h111; |
rommem[ 9153] <= 12'h081; |
rommem[ 9154] <= 12'h040; |
rommem[ 9155] <= 12'h025; |
rommem[ 9156] <= 12'h014; |
rommem[ 9157] <= 12'h00F; |
rommem[ 9158] <= 12'h111; |
rommem[ 9159] <= 12'h020; |
rommem[ 9160] <= 12'h002; |
rommem[ 9161] <= 12'h034; |
rommem[ 9162] <= 12'h016; |
rommem[ 9163] <= 12'h096; |
rommem[ 9164] <= 12'h110; |
rommem[ 9165] <= 12'h081; |
rommem[ 9166] <= 12'h020; |
rommem[ 9167] <= 12'h025; |
rommem[ 9168] <= 12'h005; |
rommem[ 9169] <= 12'h04A; |
rommem[ 9170] <= 12'h097; |
rommem[ 9171] <= 12'h110; |
rommem[ 9172] <= 12'h08D; |
rommem[ 9173] <= 12'hE8F; |
rommem[ 9174] <= 12'h08D; |
rommem[ 9175] <= 12'hEF4; |
rommem[ 9176] <= 12'h035; |
rommem[ 9177] <= 12'h096; |
rommem[ 9178] <= 12'h034; |
rommem[ 9179] <= 12'h016; |
rommem[ 9180] <= 12'h01F; |
rommem[ 9181] <= 12'h001; |
rommem[ 9182] <= 12'h015; |
rommem[ 9183] <= 12'h0B6; |
rommem[ 9184] <= 12'hFFF; |
rommem[ 9185] <= 12'hFFF; |
rommem[ 9186] <= 12'hFE0; |
rommem[ 9187] <= 12'h081; |
rommem[ 9188] <= 12'h020; |
rommem[ 9189] <= 12'h027; |
rommem[ 9190] <= 12'h005; |
rommem[ 9191] <= 12'h0B6; |
rommem[ 9192] <= 12'hEF0; |
rommem[ 9193] <= 12'h001; |
rommem[ 9194] <= 12'h027; |
rommem[ 9195] <= 12'hFFB; |
rommem[ 9196] <= 12'h0E6; |
rommem[ 9197] <= 12'h800; |
rommem[ 9198] <= 12'h027; |
rommem[ 9199] <= 12'h005; |
rommem[ 9200] <= 12'h017; |
rommem[ 9201] <= 12'h000; |
rommem[ 9202] <= 12'hAEE; |
rommem[ 9203] <= 12'h020; |
rommem[ 9204] <= 12'hFF7; |
rommem[ 9205] <= 12'h07F; |
rommem[ 9206] <= 12'hEF0; |
rommem[ 9207] <= 12'h001; |
rommem[ 9208] <= 12'h035; |
rommem[ 9209] <= 12'h096; |
rommem[ 9210] <= 12'h034; |
rommem[ 9211] <= 12'h006; |
rommem[ 9212] <= 12'h08D; |
rommem[ 9213] <= 12'hFDC; |
rommem[ 9214] <= 12'h0C6; |
rommem[ 9215] <= 12'h00D; |
rommem[ 9216] <= 12'h017; |
rommem[ 9217] <= 12'h000; |
rommem[ 9218] <= 12'hADE; |
rommem[ 9219] <= 12'h0C6; |
rommem[ 9220] <= 12'h00A; |
rommem[ 9221] <= 12'h017; |
rommem[ 9222] <= 12'h000; |
rommem[ 9223] <= 12'hAD9; |
rommem[ 9224] <= 12'h035; |
rommem[ 9225] <= 12'h086; |
rommem[ 9226] <= 12'h08D; |
rommem[ 9227] <= 12'h002; |
rommem[ 9228] <= 12'h020; |
rommem[ 9229] <= 12'h00D; |
rommem[ 9230] <= 12'h034; |
rommem[ 9231] <= 12'h010; |
rommem[ 9232] <= 12'h08E; |
rommem[ 9233] <= 12'hFFE; |
rommem[ 9234] <= 12'h422; |
rommem[ 9235] <= 12'h08D; |
rommem[ 9236] <= 12'h006; |
rommem[ 9237] <= 12'h035; |
rommem[ 9238] <= 12'h010; |
rommem[ 9239] <= 12'h039; |
rommem[ 9240] <= 12'h0BD; |
rommem[ 9241] <= 12'hFFE; |
rommem[ 9242] <= 12'hEE1; |
rommem[ 9243] <= 12'h0E6; |
rommem[ 9244] <= 12'h800; |
rommem[ 9245] <= 12'h0C1; |
rommem[ 9246] <= 12'h004; |
rommem[ 9247] <= 12'h026; |
rommem[ 9248] <= 12'hFF7; |
rommem[ 9249] <= 12'h039; |
rommem[ 9250] <= 12'h00D; |
rommem[ 9251] <= 12'h00A; |
rommem[ 9252] <= 12'h004; |
rommem[ 9253] <= 12'h08D; |
rommem[ 9254] <= 12'h007; |
rommem[ 9255] <= 12'h01E; |
rommem[ 9256] <= 12'h001; |
rommem[ 9257] <= 12'h08D; |
rommem[ 9258] <= 12'h003; |
rommem[ 9259] <= 12'h01E; |
rommem[ 9260] <= 12'h001; |
rommem[ 9261] <= 12'h039; |
rommem[ 9165] <= 12'h04C; |
rommem[ 9166] <= 12'h097; |
rommem[ 9167] <= 12'h110; |
rommem[ 9168] <= 12'h081; |
rommem[ 9169] <= 12'h020; |
rommem[ 9170] <= 12'h025; |
rommem[ 9171] <= 12'h005; |
rommem[ 9172] <= 12'h04A; |
rommem[ 9173] <= 12'h097; |
rommem[ 9174] <= 12'h110; |
rommem[ 9175] <= 12'h08D; |
rommem[ 9176] <= 12'hE8F; |
rommem[ 9177] <= 12'h08D; |
rommem[ 9178] <= 12'hEF4; |
rommem[ 9179] <= 12'h035; |
rommem[ 9180] <= 12'h096; |
rommem[ 9181] <= 12'h034; |
rommem[ 9182] <= 12'h016; |
rommem[ 9183] <= 12'h01F; |
rommem[ 9184] <= 12'h001; |
rommem[ 9185] <= 12'h015; |
rommem[ 9186] <= 12'h0B6; |
rommem[ 9187] <= 12'hFFF; |
rommem[ 9188] <= 12'hFFF; |
rommem[ 9189] <= 12'hFE0; |
rommem[ 9190] <= 12'h081; |
rommem[ 9191] <= 12'h020; |
rommem[ 9192] <= 12'h027; |
rommem[ 9193] <= 12'h005; |
rommem[ 9194] <= 12'h0B6; |
rommem[ 9195] <= 12'hEF0; |
rommem[ 9196] <= 12'h001; |
rommem[ 9197] <= 12'h027; |
rommem[ 9198] <= 12'hFFB; |
rommem[ 9199] <= 12'h0E6; |
rommem[ 9200] <= 12'h800; |
rommem[ 9201] <= 12'h027; |
rommem[ 9202] <= 12'h005; |
rommem[ 9203] <= 12'h017; |
rommem[ 9204] <= 12'h000; |
rommem[ 9205] <= 12'hDD3; |
rommem[ 9206] <= 12'h020; |
rommem[ 9207] <= 12'hFF7; |
rommem[ 9208] <= 12'h07F; |
rommem[ 9209] <= 12'hEF0; |
rommem[ 9210] <= 12'h001; |
rommem[ 9211] <= 12'h035; |
rommem[ 9212] <= 12'h096; |
rommem[ 9213] <= 12'h034; |
rommem[ 9214] <= 12'h006; |
rommem[ 9215] <= 12'h08D; |
rommem[ 9216] <= 12'hFDC; |
rommem[ 9217] <= 12'h0C6; |
rommem[ 9218] <= 12'h00D; |
rommem[ 9219] <= 12'h017; |
rommem[ 9220] <= 12'h000; |
rommem[ 9221] <= 12'hDC3; |
rommem[ 9222] <= 12'h0C6; |
rommem[ 9223] <= 12'h00A; |
rommem[ 9224] <= 12'h017; |
rommem[ 9225] <= 12'h000; |
rommem[ 9226] <= 12'hDBE; |
rommem[ 9227] <= 12'h035; |
rommem[ 9228] <= 12'h086; |
rommem[ 9229] <= 12'h08D; |
rommem[ 9230] <= 12'h002; |
rommem[ 9231] <= 12'h020; |
rommem[ 9232] <= 12'h00D; |
rommem[ 9233] <= 12'h034; |
rommem[ 9234] <= 12'h010; |
rommem[ 9235] <= 12'h08E; |
rommem[ 9236] <= 12'hFFE; |
rommem[ 9237] <= 12'h425; |
rommem[ 9238] <= 12'h08D; |
rommem[ 9239] <= 12'h006; |
rommem[ 9240] <= 12'h035; |
rommem[ 9241] <= 12'h010; |
rommem[ 9242] <= 12'h039; |
rommem[ 9243] <= 12'h0BD; |
rommem[ 9244] <= 12'hFFF; |
rommem[ 9245] <= 12'h1C9; |
rommem[ 9246] <= 12'h0E6; |
rommem[ 9247] <= 12'h800; |
rommem[ 9248] <= 12'h0C1; |
rommem[ 9249] <= 12'h004; |
rommem[ 9250] <= 12'h026; |
rommem[ 9251] <= 12'hFF7; |
rommem[ 9252] <= 12'h039; |
rommem[ 9253] <= 12'h00D; |
rommem[ 9254] <= 12'h00A; |
rommem[ 9255] <= 12'h004; |
rommem[ 9256] <= 12'h08D; |
rommem[ 9257] <= 12'h007; |
rommem[ 9258] <= 12'h01E; |
rommem[ 9259] <= 12'h001; |
rommem[ 9260] <= 12'h08D; |
rommem[ 9261] <= 12'h003; |
rommem[ 9262] <= 12'h01E; |
rommem[ 9263] <= 12'h089; |
rommem[ 9264] <= 12'h08D; |
rommem[ 9265] <= 12'h005; |
rommem[ 9266] <= 12'h01E; |
rommem[ 9267] <= 12'h089; |
rommem[ 9268] <= 12'h08D; |
rommem[ 9269] <= 12'h001; |
rommem[ 9270] <= 12'h039; |
rommem[ 9271] <= 12'h034; |
rommem[ 9272] <= 12'h004; |
rommem[ 9273] <= 12'h054; |
rommem[ 9274] <= 12'h054; |
rommem[ 9275] <= 12'h054; |
rommem[ 9263] <= 12'h001; |
rommem[ 9264] <= 12'h039; |
rommem[ 9265] <= 12'h01E; |
rommem[ 9266] <= 12'h089; |
rommem[ 9267] <= 12'h08D; |
rommem[ 9268] <= 12'h005; |
rommem[ 9269] <= 12'h01E; |
rommem[ 9270] <= 12'h089; |
rommem[ 9271] <= 12'h08D; |
rommem[ 9272] <= 12'h001; |
rommem[ 9273] <= 12'h039; |
rommem[ 9274] <= 12'h034; |
rommem[ 9275] <= 12'h004; |
rommem[ 9276] <= 12'h054; |
rommem[ 9277] <= 12'h054; |
rommem[ 9278] <= 12'h054; |
rommem[ 9279] <= 12'h054; |
rommem[ 9280] <= 12'h054; |
rommem[ 9281] <= 12'h08D; |
rommem[ 9282] <= 12'h00C; |
rommem[ 9283] <= 12'h035; |
rommem[ 9284] <= 12'h004; |
rommem[ 9285] <= 12'h034; |
rommem[ 9286] <= 12'h004; |
rommem[ 9287] <= 12'h054; |
rommem[ 9288] <= 12'h054; |
rommem[ 9289] <= 12'h054; |
rommem[ 9281] <= 12'h054; |
rommem[ 9282] <= 12'h054; |
rommem[ 9283] <= 12'h054; |
rommem[ 9284] <= 12'h08D; |
rommem[ 9285] <= 12'h00C; |
rommem[ 9286] <= 12'h035; |
rommem[ 9287] <= 12'h004; |
rommem[ 9288] <= 12'h034; |
rommem[ 9289] <= 12'h004; |
rommem[ 9290] <= 12'h054; |
rommem[ 9291] <= 12'h08D; |
rommem[ 9292] <= 12'h002; |
rommem[ 9293] <= 12'h035; |
rommem[ 9294] <= 12'h004; |
rommem[ 9295] <= 12'h034; |
rommem[ 9296] <= 12'h004; |
rommem[ 9297] <= 12'h0C4; |
rommem[ 9298] <= 12'h00F; |
rommem[ 9299] <= 12'h0C1; |
rommem[ 9300] <= 12'h00A; |
rommem[ 9301] <= 12'h025; |
rommem[ 9302] <= 12'h007; |
rommem[ 9303] <= 12'h0CB; |
rommem[ 9304] <= 12'h037; |
rommem[ 9305] <= 12'h017; |
rommem[ 9306] <= 12'h000; |
rommem[ 9307] <= 12'hA85; |
rommem[ 9308] <= 12'h035; |
rommem[ 9309] <= 12'h084; |
rommem[ 9310] <= 12'h0CB; |
rommem[ 9311] <= 12'h030; |
rommem[ 9312] <= 12'h017; |
rommem[ 9313] <= 12'h000; |
rommem[ 9314] <= 12'hA7E; |
rommem[ 9315] <= 12'h035; |
rommem[ 9316] <= 12'h084; |
rommem[ 9317] <= 12'h0CC; |
rommem[ 9318] <= 12'h061; |
rommem[ 9319] <= 12'hA80; |
rommem[ 9320] <= 12'h015; |
rommem[ 9321] <= 12'h0F7; |
rommem[ 9322] <= 12'hFFF; |
rommem[ 9323] <= 12'hE60; |
rommem[ 9324] <= 12'h014; |
rommem[ 9325] <= 12'h015; |
rommem[ 9326] <= 12'h0B7; |
rommem[ 9327] <= 12'hFFF; |
rommem[ 9328] <= 12'hE60; |
rommem[ 9329] <= 12'h015; |
rommem[ 9330] <= 12'h015; |
rommem[ 9331] <= 12'h07F; |
rommem[ 9332] <= 12'hFFF; |
rommem[ 9333] <= 12'hE60; |
rommem[ 9334] <= 12'h012; |
rommem[ 9335] <= 12'h015; |
rommem[ 9336] <= 12'h07F; |
rommem[ 9337] <= 12'hFFF; |
rommem[ 9338] <= 12'hE60; |
rommem[ 9339] <= 12'h013; |
rommem[ 9340] <= 12'h015; |
rommem[ 9341] <= 12'h0B6; |
rommem[ 9342] <= 12'hFFF; |
rommem[ 9343] <= 12'hE60; |
rommem[ 9344] <= 12'h00B; |
rommem[ 9345] <= 12'h08A; |
rommem[ 9346] <= 12'h100; |
rommem[ 9347] <= 12'h015; |
rommem[ 9348] <= 12'h0B7; |
rommem[ 9349] <= 12'hFFF; |
rommem[ 9350] <= 12'hE60; |
rommem[ 9351] <= 12'h00B; |
rommem[ 9352] <= 12'h086; |
rommem[ 9353] <= 12'h810; |
rommem[ 9354] <= 12'h015; |
rommem[ 9355] <= 12'h0B7; |
rommem[ 9356] <= 12'hFFF; |
rommem[ 9357] <= 12'hE60; |
rommem[ 9358] <= 12'h00E; |
rommem[ 9359] <= 12'h039; |
rommem[ 9360] <= 12'h086; |
rommem[ 9361] <= 12'h01F; |
rommem[ 9362] <= 12'h0B7; |
rommem[ 9363] <= 12'hFFC; |
rommem[ 9364] <= 12'h011; |
rommem[ 9291] <= 12'h054; |
rommem[ 9292] <= 12'h054; |
rommem[ 9293] <= 12'h054; |
rommem[ 9294] <= 12'h08D; |
rommem[ 9295] <= 12'h002; |
rommem[ 9296] <= 12'h035; |
rommem[ 9297] <= 12'h004; |
rommem[ 9298] <= 12'h034; |
rommem[ 9299] <= 12'h004; |
rommem[ 9300] <= 12'h0C4; |
rommem[ 9301] <= 12'h00F; |
rommem[ 9302] <= 12'h0C1; |
rommem[ 9303] <= 12'h00A; |
rommem[ 9304] <= 12'h025; |
rommem[ 9305] <= 12'h007; |
rommem[ 9306] <= 12'h0CB; |
rommem[ 9307] <= 12'h037; |
rommem[ 9308] <= 12'h017; |
rommem[ 9309] <= 12'h000; |
rommem[ 9310] <= 12'hD6A; |
rommem[ 9311] <= 12'h035; |
rommem[ 9312] <= 12'h084; |
rommem[ 9313] <= 12'h0CB; |
rommem[ 9314] <= 12'h030; |
rommem[ 9315] <= 12'h017; |
rommem[ 9316] <= 12'h000; |
rommem[ 9317] <= 12'hD63; |
rommem[ 9318] <= 12'h035; |
rommem[ 9319] <= 12'h084; |
rommem[ 9320] <= 12'h0CC; |
rommem[ 9321] <= 12'h061; |
rommem[ 9322] <= 12'hA80; |
rommem[ 9323] <= 12'h015; |
rommem[ 9324] <= 12'h0F7; |
rommem[ 9325] <= 12'hFFF; |
rommem[ 9326] <= 12'hE60; |
rommem[ 9327] <= 12'h014; |
rommem[ 9328] <= 12'h015; |
rommem[ 9329] <= 12'h0B7; |
rommem[ 9330] <= 12'hFFF; |
rommem[ 9331] <= 12'hE60; |
rommem[ 9332] <= 12'h015; |
rommem[ 9333] <= 12'h015; |
rommem[ 9334] <= 12'h07F; |
rommem[ 9335] <= 12'hFFF; |
rommem[ 9336] <= 12'hE60; |
rommem[ 9337] <= 12'h012; |
rommem[ 9338] <= 12'h015; |
rommem[ 9339] <= 12'h07F; |
rommem[ 9340] <= 12'hFFF; |
rommem[ 9341] <= 12'hE60; |
rommem[ 9342] <= 12'h013; |
rommem[ 9343] <= 12'h015; |
rommem[ 9344] <= 12'h0B6; |
rommem[ 9345] <= 12'hFFF; |
rommem[ 9346] <= 12'hE60; |
rommem[ 9347] <= 12'h00B; |
rommem[ 9348] <= 12'h08A; |
rommem[ 9349] <= 12'h100; |
rommem[ 9350] <= 12'h015; |
rommem[ 9351] <= 12'h0B7; |
rommem[ 9352] <= 12'hFFF; |
rommem[ 9353] <= 12'hE60; |
rommem[ 9354] <= 12'h00B; |
rommem[ 9355] <= 12'h086; |
rommem[ 9356] <= 12'h880; |
rommem[ 9357] <= 12'h015; |
rommem[ 9358] <= 12'h0B7; |
rommem[ 9359] <= 12'hFFF; |
rommem[ 9360] <= 12'hE60; |
rommem[ 9361] <= 12'h00E; |
rommem[ 9362] <= 12'h039; |
rommem[ 9363] <= 12'h086; |
rommem[ 9364] <= 12'h01F; |
rommem[ 9365] <= 12'h015; |
rommem[ 9366] <= 12'h0B7; |
rommem[ 9367] <= 12'hFFF; |
1300,240 → 1300,288
rommem[ 9370] <= 12'h015; |
rommem[ 9371] <= 12'h0B6; |
rommem[ 9372] <= 12'hFFF; |
rommem[ 9373] <= 12'hE60; |
rommem[ 9374] <= 12'h00D; |
rommem[ 9375] <= 12'h02A; |
rommem[ 9376] <= 12'h011; |
rommem[ 9377] <= 12'h085; |
rommem[ 9378] <= 12'h080; |
rommem[ 9379] <= 12'h027; |
rommem[ 9380] <= 12'h00D; |
rommem[ 9381] <= 12'h015; |
rommem[ 9382] <= 12'h07F; |
rommem[ 9383] <= 12'hFFF; |
rommem[ 9384] <= 12'hE60; |
rommem[ 9385] <= 12'h012; |
rommem[ 9386] <= 12'h015; |
rommem[ 9387] <= 12'h07F; |
rommem[ 9388] <= 12'hFFF; |
rommem[ 9389] <= 12'hE60; |
rommem[ 9390] <= 12'h013; |
rommem[ 9391] <= 12'h07C; |
rommem[ 9392] <= 12'hE00; |
rommem[ 9393] <= 12'h037; |
rommem[ 9394] <= 12'h039; |
rommem[ 9395] <= 12'h034; |
rommem[ 9396] <= 12'h004; |
rommem[ 9397] <= 12'h0C6; |
rommem[ 9398] <= 12'h004; |
rommem[ 9399] <= 12'h0E7; |
rommem[ 9400] <= 12'h804; |
rommem[ 9401] <= 12'h06F; |
rommem[ 9402] <= 12'h001; |
rommem[ 9403] <= 12'h035; |
rommem[ 9404] <= 12'h084; |
rommem[ 9405] <= 12'h034; |
rommem[ 9406] <= 12'h004; |
rommem[ 9407] <= 12'h0E6; |
rommem[ 9408] <= 12'h004; |
rommem[ 9409] <= 12'h0C5; |
rommem[ 9410] <= 12'h001; |
rommem[ 9411] <= 12'h026; |
rommem[ 9412] <= 12'hFFA; |
rommem[ 9413] <= 12'h035; |
rommem[ 9414] <= 12'h084; |
rommem[ 9415] <= 12'h0E7; |
rommem[ 9416] <= 12'h003; |
rommem[ 9417] <= 12'h0A7; |
rommem[ 9418] <= 12'h004; |
rommem[ 9419] <= 12'h08D; |
rommem[ 9420] <= 12'hFF0; |
rommem[ 9421] <= 12'h0E6; |
rommem[ 9422] <= 12'h004; |
rommem[ 9423] <= 12'h039; |
rommem[ 9424] <= 12'h034; |
rommem[ 9425] <= 12'h006; |
rommem[ 9426] <= 12'h034; |
rommem[ 9427] <= 12'h006; |
rommem[ 9428] <= 12'h0C6; |
rommem[ 9429] <= 12'h001; |
rommem[ 9430] <= 12'h0E7; |
rommem[ 9431] <= 12'h002; |
rommem[ 9432] <= 12'h0C6; |
rommem[ 9433] <= 12'h076; |
rommem[ 9434] <= 12'h086; |
rommem[ 9435] <= 12'h090; |
rommem[ 9436] <= 12'h08D; |
rommem[ 9437] <= 12'hFE9; |
rommem[ 9438] <= 12'h08D; |
rommem[ 9439] <= 12'h00A; |
rommem[ 9440] <= 12'h035; |
rommem[ 9441] <= 12'h006; |
rommem[ 9442] <= 12'h086; |
rommem[ 9443] <= 12'h050; |
rommem[ 9444] <= 12'h08D; |
rommem[ 9445] <= 12'hFE1; |
rommem[ 9446] <= 12'h08D; |
rommem[ 9447] <= 12'h002; |
rommem[ 9448] <= 12'h035; |
rommem[ 9449] <= 12'h086; |
rommem[ 9450] <= 12'h034; |
rommem[ 9451] <= 12'h004; |
rommem[ 9452] <= 12'h0E6; |
rommem[ 9453] <= 12'h004; |
rommem[ 9454] <= 12'h0C5; |
rommem[ 9455] <= 12'h080; |
rommem[ 9456] <= 12'h026; |
rommem[ 9457] <= 12'hFFA; |
rommem[ 9458] <= 12'h035; |
rommem[ 9459] <= 12'h084; |
rommem[ 9460] <= 12'h08E; |
rommem[ 9461] <= 12'hE30; |
rommem[ 9462] <= 12'h500; |
rommem[ 9463] <= 12'h18E; |
rommem[ 9464] <= 12'h007; |
rommem[ 9465] <= 12'hFC0; |
rommem[ 9466] <= 12'h0C6; |
rommem[ 9467] <= 12'h080; |
rommem[ 9468] <= 12'h0E7; |
rommem[ 9469] <= 12'h002; |
rommem[ 9470] <= 12'h0CC; |
rommem[ 9471] <= 12'h090; |
rommem[ 9472] <= 12'h0DE; |
rommem[ 9473] <= 12'h08D; |
rommem[ 9474] <= 12'hFC4; |
rommem[ 9475] <= 12'h0C5; |
rommem[ 9476] <= 12'h080; |
rommem[ 9477] <= 12'h026; |
rommem[ 9478] <= 12'h03C; |
rommem[ 9479] <= 12'h0CC; |
rommem[ 9480] <= 12'h010; |
rommem[ 9481] <= 12'h000; |
rommem[ 9482] <= 12'h08D; |
rommem[ 9483] <= 12'hFBB; |
rommem[ 9484] <= 12'h0C5; |
rommem[ 9485] <= 12'h080; |
rommem[ 9486] <= 12'h026; |
rommem[ 9487] <= 12'h033; |
rommem[ 9488] <= 12'h0CC; |
rommem[ 9489] <= 12'h090; |
rommem[ 9490] <= 12'h0DF; |
rommem[ 9491] <= 12'h08D; |
rommem[ 9492] <= 12'hFB2; |
rommem[ 9493] <= 12'h0C5; |
rommem[ 9494] <= 12'h080; |
rommem[ 9495] <= 12'h026; |
rommem[ 9496] <= 12'h02A; |
rommem[ 9497] <= 12'h05F; |
rommem[ 9498] <= 12'h086; |
rommem[ 9499] <= 12'h020; |
rommem[ 9500] <= 12'h0A7; |
rommem[ 9373] <= 12'hE3F; |
rommem[ 9374] <= 12'h0FF; |
rommem[ 9375] <= 12'h027; |
rommem[ 9376] <= 12'h041; |
rommem[ 9377] <= 12'h015; |
rommem[ 9378] <= 12'h07F; |
rommem[ 9379] <= 12'hFFF; |
rommem[ 9380] <= 12'hE3F; |
rommem[ 9381] <= 12'h0FF; |
rommem[ 9382] <= 12'h086; |
rommem[ 9383] <= 12'h01F; |
rommem[ 9384] <= 12'h0B7; |
rommem[ 9385] <= 12'hFFC; |
rommem[ 9386] <= 12'h011; |
rommem[ 9387] <= 12'h015; |
rommem[ 9388] <= 12'h07F; |
rommem[ 9389] <= 12'hFFF; |
rommem[ 9390] <= 12'hE60; |
rommem[ 9391] <= 12'h012; |
rommem[ 9392] <= 12'h015; |
rommem[ 9393] <= 12'h07F; |
rommem[ 9394] <= 12'hFFF; |
rommem[ 9395] <= 12'hE60; |
rommem[ 9396] <= 12'h013; |
rommem[ 9397] <= 12'h086; |
rommem[ 9398] <= 12'h01F; |
rommem[ 9399] <= 12'h015; |
rommem[ 9400] <= 12'h0B7; |
rommem[ 9401] <= 12'hFFF; |
rommem[ 9402] <= 12'hE3F; |
rommem[ 9403] <= 12'h010; |
rommem[ 9404] <= 12'h015; |
rommem[ 9405] <= 12'h07F; |
rommem[ 9406] <= 12'hFFF; |
rommem[ 9407] <= 12'hE3F; |
rommem[ 9408] <= 12'h0FF; |
rommem[ 9409] <= 12'h07C; |
rommem[ 9410] <= 12'hE00; |
rommem[ 9411] <= 12'h03F; |
rommem[ 9412] <= 12'h0FC; |
rommem[ 9413] <= 12'hFFC; |
rommem[ 9414] <= 12'h016; |
rommem[ 9415] <= 12'h0C3; |
rommem[ 9416] <= 12'h000; |
rommem[ 9417] <= 12'h00A; |
rommem[ 9418] <= 12'h0FD; |
rommem[ 9419] <= 12'hFFC; |
rommem[ 9420] <= 12'h016; |
rommem[ 9421] <= 12'h0FC; |
rommem[ 9422] <= 12'hFFC; |
rommem[ 9423] <= 12'h014; |
rommem[ 9424] <= 12'h0C9; |
rommem[ 9425] <= 12'h000; |
rommem[ 9426] <= 12'h0F7; |
rommem[ 9427] <= 12'hFFC; |
rommem[ 9428] <= 12'h015; |
rommem[ 9429] <= 12'h089; |
rommem[ 9430] <= 12'h000; |
rommem[ 9431] <= 12'h0B7; |
rommem[ 9432] <= 12'hFFC; |
rommem[ 9433] <= 12'h014; |
rommem[ 9434] <= 12'h0F6; |
rommem[ 9435] <= 12'hFFC; |
rommem[ 9436] <= 12'h020; |
rommem[ 9437] <= 12'h0CB; |
rommem[ 9438] <= 12'h004; |
rommem[ 9439] <= 12'h0F7; |
rommem[ 9440] <= 12'hFFC; |
rommem[ 9441] <= 12'h020; |
rommem[ 9442] <= 12'h039; |
rommem[ 9443] <= 12'h034; |
rommem[ 9444] <= 12'h004; |
rommem[ 9445] <= 12'h0C6; |
rommem[ 9446] <= 12'h004; |
rommem[ 9447] <= 12'h0E7; |
rommem[ 9448] <= 12'h804; |
rommem[ 9449] <= 12'h06F; |
rommem[ 9450] <= 12'h001; |
rommem[ 9451] <= 12'h035; |
rommem[ 9452] <= 12'h084; |
rommem[ 9453] <= 12'h034; |
rommem[ 9454] <= 12'h004; |
rommem[ 9455] <= 12'h0E6; |
rommem[ 9456] <= 12'h004; |
rommem[ 9457] <= 12'h0C5; |
rommem[ 9458] <= 12'h001; |
rommem[ 9459] <= 12'h026; |
rommem[ 9460] <= 12'hFFA; |
rommem[ 9461] <= 12'h035; |
rommem[ 9462] <= 12'h084; |
rommem[ 9463] <= 12'h0E7; |
rommem[ 9464] <= 12'h003; |
rommem[ 9465] <= 12'h0A7; |
rommem[ 9466] <= 12'h004; |
rommem[ 9467] <= 12'h08D; |
rommem[ 9468] <= 12'hFF0; |
rommem[ 9469] <= 12'h0E6; |
rommem[ 9470] <= 12'h004; |
rommem[ 9471] <= 12'h039; |
rommem[ 9472] <= 12'h034; |
rommem[ 9473] <= 12'h006; |
rommem[ 9474] <= 12'h034; |
rommem[ 9475] <= 12'h006; |
rommem[ 9476] <= 12'h0C6; |
rommem[ 9477] <= 12'h001; |
rommem[ 9478] <= 12'h0E7; |
rommem[ 9479] <= 12'h002; |
rommem[ 9480] <= 12'h0C6; |
rommem[ 9481] <= 12'h076; |
rommem[ 9482] <= 12'h086; |
rommem[ 9483] <= 12'h090; |
rommem[ 9484] <= 12'h08D; |
rommem[ 9485] <= 12'hFE9; |
rommem[ 9486] <= 12'h08D; |
rommem[ 9487] <= 12'h00A; |
rommem[ 9488] <= 12'h035; |
rommem[ 9489] <= 12'h006; |
rommem[ 9490] <= 12'h086; |
rommem[ 9491] <= 12'h050; |
rommem[ 9492] <= 12'h08D; |
rommem[ 9493] <= 12'hFE1; |
rommem[ 9494] <= 12'h08D; |
rommem[ 9495] <= 12'h002; |
rommem[ 9496] <= 12'h035; |
rommem[ 9497] <= 12'h086; |
rommem[ 9498] <= 12'h034; |
rommem[ 9499] <= 12'h004; |
rommem[ 9500] <= 12'h0E6; |
rommem[ 9501] <= 12'h004; |
rommem[ 9502] <= 12'h08D; |
rommem[ 9503] <= 12'hF9D; |
rommem[ 9504] <= 12'h08D; |
rommem[ 9505] <= 12'hFC8; |
rommem[ 9506] <= 12'h0A6; |
rommem[ 9507] <= 12'h004; |
rommem[ 9508] <= 12'h085; |
rommem[ 9509] <= 12'h080; |
rommem[ 9510] <= 12'h026; |
rommem[ 9511] <= 12'h01B; |
rommem[ 9512] <= 12'h0A6; |
rommem[ 9513] <= 12'h003; |
rommem[ 9514] <= 12'h0A7; |
rommem[ 9515] <= 12'hA07; |
rommem[ 9516] <= 12'h05C; |
rommem[ 9517] <= 12'h0C1; |
rommem[ 9518] <= 12'h05F; |
rommem[ 9519] <= 12'h025; |
rommem[ 9520] <= 12'hFE9; |
rommem[ 9521] <= 12'h086; |
rommem[ 9522] <= 12'h068; |
rommem[ 9523] <= 12'h0A7; |
rommem[ 9524] <= 12'h004; |
rommem[ 9525] <= 12'h08D; |
rommem[ 9526] <= 12'hF86; |
rommem[ 9527] <= 12'h0A6; |
rommem[ 9528] <= 12'h004; |
rommem[ 9529] <= 12'h085; |
rommem[ 9530] <= 12'h080; |
rommem[ 9531] <= 12'h026; |
rommem[ 9532] <= 12'h006; |
rommem[ 9533] <= 12'h0A6; |
rommem[ 9534] <= 12'h003; |
rommem[ 9535] <= 12'h0A7; |
rommem[ 9536] <= 12'hA07; |
rommem[ 9537] <= 12'h04F; |
rommem[ 9538] <= 12'h05F; |
rommem[ 9539] <= 12'h06F; |
rommem[ 9540] <= 12'h002; |
rommem[ 9541] <= 12'h04F; |
rommem[ 9542] <= 12'h039; |
rommem[ 9543] <= 12'h08E; |
rommem[ 9544] <= 12'hE30; |
rommem[ 9545] <= 12'h500; |
rommem[ 9546] <= 12'h18E; |
rommem[ 9547] <= 12'h007; |
rommem[ 9548] <= 12'hFC0; |
rommem[ 9549] <= 12'h0C6; |
rommem[ 9550] <= 12'h080; |
rommem[ 9551] <= 12'h0E7; |
rommem[ 9552] <= 12'h002; |
rommem[ 9553] <= 12'h0CC; |
rommem[ 9554] <= 12'h090; |
rommem[ 9555] <= 12'h0DE; |
rommem[ 9556] <= 12'h08D; |
rommem[ 9557] <= 12'hF71; |
rommem[ 9558] <= 12'h0C5; |
rommem[ 9559] <= 12'h080; |
rommem[ 9560] <= 12'h026; |
rommem[ 9561] <= 12'hFE9; |
rommem[ 9562] <= 12'h0CC; |
rommem[ 9563] <= 12'h010; |
rommem[ 9564] <= 12'h000; |
rommem[ 9565] <= 12'h08D; |
rommem[ 9566] <= 12'hF68; |
rommem[ 9567] <= 12'h0C5; |
rommem[ 9568] <= 12'h080; |
rommem[ 9569] <= 12'h026; |
rommem[ 9570] <= 12'hFE0; |
rommem[ 9571] <= 12'h0C6; |
rommem[ 9572] <= 12'h000; |
rommem[ 9573] <= 12'h034; |
rommem[ 9574] <= 12'h004; |
rommem[ 9575] <= 12'h0E6; |
rommem[ 9576] <= 12'hA05; |
rommem[ 9577] <= 12'h086; |
rommem[ 9578] <= 12'h010; |
rommem[ 9579] <= 12'h08D; |
rommem[ 9580] <= 12'hF5A; |
rommem[ 9581] <= 12'h0C5; |
rommem[ 9582] <= 12'h080; |
rommem[ 9583] <= 12'h035; |
rommem[ 9584] <= 12'h004; |
rommem[ 9585] <= 12'h026; |
rommem[ 9586] <= 12'hFD0; |
rommem[ 9587] <= 12'h05C; |
rommem[ 9588] <= 12'h0C1; |
rommem[ 9589] <= 12'h05F; |
rommem[ 9590] <= 12'h025; |
rommem[ 9591] <= 12'hFED; |
rommem[ 9592] <= 12'h0E6; |
rommem[ 9593] <= 12'hA05; |
rommem[ 9594] <= 12'h086; |
rommem[ 9595] <= 12'h050; |
rommem[ 9596] <= 12'h08D; |
rommem[ 9597] <= 12'hF49; |
rommem[ 9598] <= 12'h0C5; |
rommem[ 9599] <= 12'h080; |
rommem[ 9600] <= 12'h026; |
rommem[ 9601] <= 12'hFC1; |
rommem[ 9602] <= 12'h04F; |
rommem[ 9603] <= 12'h05F; |
rommem[ 9604] <= 12'h06F; |
rommem[ 9605] <= 12'h002; |
rommem[ 9606] <= 12'h039; |
rommem[ 9502] <= 12'h0C5; |
rommem[ 9503] <= 12'h080; |
rommem[ 9504] <= 12'h026; |
rommem[ 9505] <= 12'hFFA; |
rommem[ 9506] <= 12'h035; |
rommem[ 9507] <= 12'h084; |
rommem[ 9508] <= 12'h08E; |
rommem[ 9509] <= 12'hE30; |
rommem[ 9510] <= 12'h500; |
rommem[ 9511] <= 12'h18E; |
rommem[ 9512] <= 12'h007; |
rommem[ 9513] <= 12'hFC0; |
rommem[ 9514] <= 12'h0C6; |
rommem[ 9515] <= 12'h080; |
rommem[ 9516] <= 12'h0E7; |
rommem[ 9517] <= 12'h002; |
rommem[ 9518] <= 12'h0CC; |
rommem[ 9519] <= 12'h090; |
rommem[ 9520] <= 12'h0DE; |
rommem[ 9521] <= 12'h08D; |
rommem[ 9522] <= 12'hFC4; |
rommem[ 9523] <= 12'h0C5; |
rommem[ 9524] <= 12'h080; |
rommem[ 9525] <= 12'h026; |
rommem[ 9526] <= 12'h03C; |
rommem[ 9527] <= 12'h0CC; |
rommem[ 9528] <= 12'h010; |
rommem[ 9529] <= 12'h000; |
rommem[ 9530] <= 12'h08D; |
rommem[ 9531] <= 12'hFBB; |
rommem[ 9532] <= 12'h0C5; |
rommem[ 9533] <= 12'h080; |
rommem[ 9534] <= 12'h026; |
rommem[ 9535] <= 12'h033; |
rommem[ 9536] <= 12'h0CC; |
rommem[ 9537] <= 12'h090; |
rommem[ 9538] <= 12'h0DF; |
rommem[ 9539] <= 12'h08D; |
rommem[ 9540] <= 12'hFB2; |
rommem[ 9541] <= 12'h0C5; |
rommem[ 9542] <= 12'h080; |
rommem[ 9543] <= 12'h026; |
rommem[ 9544] <= 12'h02A; |
rommem[ 9545] <= 12'h05F; |
rommem[ 9546] <= 12'h086; |
rommem[ 9547] <= 12'h020; |
rommem[ 9548] <= 12'h0A7; |
rommem[ 9549] <= 12'h004; |
rommem[ 9550] <= 12'h08D; |
rommem[ 9551] <= 12'hF9D; |
rommem[ 9552] <= 12'h08D; |
rommem[ 9553] <= 12'hFC8; |
rommem[ 9554] <= 12'h0A6; |
rommem[ 9555] <= 12'h004; |
rommem[ 9556] <= 12'h085; |
rommem[ 9557] <= 12'h080; |
rommem[ 9558] <= 12'h026; |
rommem[ 9559] <= 12'h01B; |
rommem[ 9560] <= 12'h0A6; |
rommem[ 9561] <= 12'h003; |
rommem[ 9562] <= 12'h0A7; |
rommem[ 9563] <= 12'hA07; |
rommem[ 9564] <= 12'h05C; |
rommem[ 9565] <= 12'h0C1; |
rommem[ 9566] <= 12'h05F; |
rommem[ 9567] <= 12'h025; |
rommem[ 9568] <= 12'hFE9; |
rommem[ 9569] <= 12'h086; |
rommem[ 9570] <= 12'h068; |
rommem[ 9571] <= 12'h0A7; |
rommem[ 9572] <= 12'h004; |
rommem[ 9573] <= 12'h08D; |
rommem[ 9574] <= 12'hF86; |
rommem[ 9575] <= 12'h0A6; |
rommem[ 9576] <= 12'h004; |
rommem[ 9577] <= 12'h085; |
rommem[ 9578] <= 12'h080; |
rommem[ 9579] <= 12'h026; |
rommem[ 9580] <= 12'h006; |
rommem[ 9581] <= 12'h0A6; |
rommem[ 9582] <= 12'h003; |
rommem[ 9583] <= 12'h0A7; |
rommem[ 9584] <= 12'hA07; |
rommem[ 9585] <= 12'h04F; |
rommem[ 9586] <= 12'h05F; |
rommem[ 9587] <= 12'h06F; |
rommem[ 9588] <= 12'h002; |
rommem[ 9589] <= 12'h04F; |
rommem[ 9590] <= 12'h039; |
rommem[ 9591] <= 12'h08E; |
rommem[ 9592] <= 12'hE30; |
rommem[ 9593] <= 12'h500; |
rommem[ 9594] <= 12'h18E; |
rommem[ 9595] <= 12'h007; |
rommem[ 9596] <= 12'hFC0; |
rommem[ 9597] <= 12'h0C6; |
rommem[ 9598] <= 12'h080; |
rommem[ 9599] <= 12'h0E7; |
rommem[ 9600] <= 12'h002; |
rommem[ 9601] <= 12'h0CC; |
rommem[ 9602] <= 12'h090; |
rommem[ 9603] <= 12'h0DE; |
rommem[ 9604] <= 12'h08D; |
rommem[ 9605] <= 12'hF71; |
rommem[ 9606] <= 12'h0C5; |
rommem[ 9607] <= 12'h080; |
rommem[ 9608] <= 12'h026; |
rommem[ 9609] <= 12'hFE9; |
rommem[ 9610] <= 12'h0CC; |
rommem[ 9611] <= 12'h010; |
rommem[ 9612] <= 12'h000; |
rommem[ 9613] <= 12'h08D; |
rommem[ 9614] <= 12'hF68; |
rommem[ 9615] <= 12'h0C5; |
rommem[ 9616] <= 12'h080; |
rommem[ 9617] <= 12'h026; |
rommem[ 9618] <= 12'hFE0; |
rommem[ 9619] <= 12'h0C6; |
rommem[ 9620] <= 12'h000; |
rommem[ 9621] <= 12'h034; |
rommem[ 9622] <= 12'h004; |
rommem[ 9623] <= 12'h0E6; |
rommem[ 9624] <= 12'hA05; |
rommem[ 9625] <= 12'h086; |
rommem[ 9626] <= 12'h010; |
rommem[ 9627] <= 12'h08D; |
rommem[ 9628] <= 12'hF5A; |
rommem[ 9629] <= 12'h0C5; |
rommem[ 9630] <= 12'h080; |
rommem[ 9631] <= 12'h035; |
rommem[ 9632] <= 12'h004; |
rommem[ 9633] <= 12'h026; |
rommem[ 9634] <= 12'hFD0; |
rommem[ 9635] <= 12'h05C; |
rommem[ 9636] <= 12'h0C1; |
rommem[ 9637] <= 12'h05F; |
rommem[ 9638] <= 12'h025; |
rommem[ 9639] <= 12'hFED; |
rommem[ 9640] <= 12'h0E6; |
rommem[ 9641] <= 12'hA05; |
rommem[ 9642] <= 12'h086; |
rommem[ 9643] <= 12'h050; |
rommem[ 9644] <= 12'h08D; |
rommem[ 9645] <= 12'hF49; |
rommem[ 9646] <= 12'h0C5; |
rommem[ 9647] <= 12'h080; |
rommem[ 9648] <= 12'h026; |
rommem[ 9649] <= 12'hFC1; |
rommem[ 9650] <= 12'h04F; |
rommem[ 9651] <= 12'h05F; |
rommem[ 9652] <= 12'h06F; |
rommem[ 9653] <= 12'h002; |
rommem[ 9654] <= 12'h039; |
rommem[ 9728] <= 12'h02E; |
rommem[ 9729] <= 12'h0A9; |
rommem[ 9730] <= 12'h02E; |
2569,7 → 2617,7
rommem[10760] <= 12'hA2E; |
rommem[10761] <= 12'h017; |
rommem[10762] <= 12'hFFF; |
rommem[10763] <= 12'h9EE; |
rommem[10763] <= 12'h9F1; |
rommem[10764] <= 12'h020; |
rommem[10765] <= 12'h014; |
rommem[10766] <= 12'h0C6; |
3053,3145 → 3101,4243
rommem[11244] <= 12'h039; |
rommem[11245] <= 12'h039; |
rommem[11246] <= 12'h039; |
rommem[11247] <= 12'h04F; |
rommem[11248] <= 12'h05F; |
rommem[11249] <= 12'h0DD; |
rommem[11250] <= 12'h130; |
rommem[11251] <= 12'h0DD; |
rommem[11252] <= 12'h132; |
rommem[11253] <= 12'h0DD; |
rommem[11254] <= 12'h135; |
rommem[11255] <= 12'h0DD; |
rommem[11256] <= 12'h137; |
rommem[11247] <= 12'h034; |
rommem[11248] <= 12'h008; |
rommem[11249] <= 12'h086; |
rommem[11250] <= 12'hFFC; |
rommem[11251] <= 12'h01F; |
rommem[11252] <= 12'h08B; |
rommem[11253] <= 12'h04F; |
rommem[11254] <= 12'h05F; |
rommem[11255] <= 12'h00F; |
rommem[11256] <= 12'h015; |
rommem[11257] <= 12'h00F; |
rommem[11258] <= 12'h139; |
rommem[11258] <= 12'h016; |
rommem[11259] <= 12'h00F; |
rommem[11260] <= 12'h140; |
rommem[11261] <= 12'h015; |
rommem[11262] <= 12'h0B6; |
rommem[11263] <= 12'hFFF; |
rommem[11264] <= 12'hFFF; |
rommem[11265] <= 12'hFE0; |
rommem[11266] <= 12'h0B1; |
rommem[11267] <= 12'hFFC; |
rommem[11268] <= 12'h010; |
rommem[11269] <= 12'h026; |
rommem[11270] <= 12'hFFB; |
rommem[11271] <= 12'h0C6; |
rommem[11272] <= 12'h009; |
rommem[11273] <= 12'h015; |
rommem[11274] <= 12'h0F7; |
rommem[11275] <= 12'hFFF; |
rommem[11276] <= 12'hE30; |
rommem[11277] <= 12'h102; |
rommem[11278] <= 12'h0C6; |
rommem[11279] <= 12'h01E; |
rommem[11280] <= 12'h015; |
rommem[11281] <= 12'h0F7; |
rommem[11282] <= 12'hFFF; |
rommem[11283] <= 12'hE30; |
rommem[11284] <= 12'h103; |
rommem[11285] <= 12'h0C6; |
rommem[11286] <= 12'h0A6; |
rommem[11287] <= 12'h015; |
rommem[11288] <= 12'h0F7; |
rommem[11289] <= 12'hFFF; |
rommem[11290] <= 12'hE30; |
rommem[11291] <= 12'h10B; |
rommem[11292] <= 12'h039; |
rommem[11293] <= 12'h034; |
rommem[11294] <= 12'h030; |
rommem[11295] <= 12'h18E; |
rommem[11296] <= 12'h000; |
rommem[11297] <= 12'h000; |
rommem[11298] <= 12'h01A; |
rommem[11299] <= 12'h010; |
rommem[11300] <= 12'h08D; |
rommem[11301] <= 12'h082; |
rommem[11302] <= 12'h0C1; |
rommem[11303] <= 12'h008; |
rommem[11304] <= 12'h022; |
rommem[11305] <= 12'h00C; |
rommem[11306] <= 12'h0D6; |
rommem[11307] <= 12'h139; |
rommem[11308] <= 12'h026; |
rommem[11309] <= 12'h008; |
rommem[11310] <= 12'h0C6; |
rommem[11311] <= 12'h011; |
rommem[11312] <= 12'h00F; |
rommem[11313] <= 12'h140; |
rommem[11314] <= 12'h0D7; |
rommem[11315] <= 12'h139; |
rommem[11316] <= 12'h08D; |
rommem[11317] <= 12'h052; |
rommem[11318] <= 12'h0D6; |
rommem[11319] <= 12'h131; |
rommem[11320] <= 12'h0D1; |
rommem[11321] <= 12'h133; |
rommem[11322] <= 12'h027; |
rommem[11323] <= 12'h00A; |
rommem[11324] <= 12'h08E; |
rommem[11325] <= 12'hBFF; |
rommem[11326] <= 12'h000; |
rommem[11327] <= 12'h04F; |
rommem[11328] <= 12'h0E6; |
rommem[11329] <= 12'h835; |
rommem[11330] <= 12'h00C; |
rommem[11331] <= 12'h131; |
rommem[11332] <= 12'h020; |
rommem[11333] <= 12'h003; |
rommem[11334] <= 12'h0CC; |
rommem[11335] <= 12'hFFF; |
rommem[11336] <= 12'hFFF; |
rommem[11337] <= 12'h01C; |
rommem[11338] <= 12'h0EF; |
rommem[11339] <= 12'h035; |
rommem[11340] <= 12'h0B0; |
rommem[11341] <= 12'h034; |
rommem[11342] <= 12'h011; |
rommem[11343] <= 12'h01A; |
rommem[11344] <= 12'h010; |
rommem[11345] <= 12'h0D6; |
rommem[11346] <= 12'h131; |
rommem[11347] <= 12'h0D1; |
rommem[11348] <= 12'h133; |
rommem[11349] <= 12'h027; |
rommem[11350] <= 12'h008; |
rommem[11351] <= 12'h08E; |
rommem[11352] <= 12'hBFF; |
rommem[11353] <= 12'h000; |
rommem[11354] <= 12'h04F; |
rommem[11355] <= 12'h0E6; |
rommem[11356] <= 12'h815; |
rommem[11357] <= 12'h020; |
rommem[11358] <= 12'h003; |
rommem[11359] <= 12'h0CC; |
rommem[11360] <= 12'hFFF; |
rommem[11361] <= 12'hFFF; |
rommem[11362] <= 12'h035; |
rommem[11363] <= 12'h091; |
rommem[11364] <= 12'h015; |
rommem[11365] <= 12'h0B6; |
rommem[11366] <= 12'hFFF; |
rommem[11367] <= 12'hFFF; |
rommem[11368] <= 12'hFE0; |
rommem[11369] <= 12'h0B1; |
rommem[11370] <= 12'hFFC; |
rommem[11371] <= 12'h010; |
rommem[11372] <= 12'h026; |
rommem[11373] <= 12'h014; |
rommem[11374] <= 12'h01A; |
rommem[11375] <= 12'h010; |
rommem[11376] <= 12'h015; |
rommem[11377] <= 12'h0F6; |
rommem[11378] <= 12'hFFF; |
rommem[11379] <= 12'hE30; |
rommem[11380] <= 12'h101; |
rommem[11381] <= 12'h0C5; |
rommem[11382] <= 12'h008; |
rommem[11383] <= 12'h027; |
rommem[11384] <= 12'h009; |
rommem[11385] <= 12'h04F; |
rommem[11386] <= 12'h015; |
rommem[11387] <= 12'h0F6; |
rommem[11260] <= 12'h017; |
rommem[11261] <= 12'h00F; |
rommem[11262] <= 12'h018; |
rommem[11263] <= 12'h00F; |
rommem[11264] <= 12'h019; |
rommem[11265] <= 12'h00F; |
rommem[11266] <= 12'h01A; |
rommem[11267] <= 12'h015; |
rommem[11268] <= 12'h0B6; |
rommem[11269] <= 12'hFFF; |
rommem[11270] <= 12'hFFF; |
rommem[11271] <= 12'hFE0; |
rommem[11272] <= 12'h091; |
rommem[11273] <= 12'h010; |
rommem[11274] <= 12'h026; |
rommem[11275] <= 12'hFFC; |
rommem[11276] <= 12'h0C6; |
rommem[11277] <= 12'h00B; |
rommem[11278] <= 12'h015; |
rommem[11279] <= 12'h0F7; |
rommem[11280] <= 12'hFFF; |
rommem[11281] <= 12'hE30; |
rommem[11282] <= 12'h102; |
rommem[11283] <= 12'h0C6; |
rommem[11284] <= 12'h01E; |
rommem[11285] <= 12'h015; |
rommem[11286] <= 12'h0F7; |
rommem[11287] <= 12'hFFF; |
rommem[11288] <= 12'hE30; |
rommem[11289] <= 12'h103; |
rommem[11290] <= 12'h0C6; |
rommem[11291] <= 12'h0AC; |
rommem[11292] <= 12'h015; |
rommem[11293] <= 12'h0F7; |
rommem[11294] <= 12'hFFF; |
rommem[11295] <= 12'hE30; |
rommem[11296] <= 12'h10B; |
rommem[11297] <= 12'h035; |
rommem[11298] <= 12'h088; |
rommem[11299] <= 12'h034; |
rommem[11300] <= 12'h039; |
rommem[11301] <= 12'h086; |
rommem[11302] <= 12'hFFC; |
rommem[11303] <= 12'h01F; |
rommem[11304] <= 12'h08B; |
rommem[11305] <= 12'h01A; |
rommem[11306] <= 12'h010; |
rommem[11307] <= 12'h08D; |
rommem[11308] <= 12'h090; |
rommem[11309] <= 12'h0C1; |
rommem[11310] <= 12'h008; |
rommem[11311] <= 12'h022; |
rommem[11312] <= 12'h00C; |
rommem[11313] <= 12'h0D6; |
rommem[11314] <= 12'h019; |
rommem[11315] <= 12'h026; |
rommem[11316] <= 12'h008; |
rommem[11317] <= 12'h0C6; |
rommem[11318] <= 12'h011; |
rommem[11319] <= 12'h00F; |
rommem[11320] <= 12'h01A; |
rommem[11321] <= 12'h0D7; |
rommem[11322] <= 12'h019; |
rommem[11323] <= 12'h08D; |
rommem[11324] <= 12'h05D; |
rommem[11325] <= 12'h0D6; |
rommem[11326] <= 12'h015; |
rommem[11327] <= 12'h0D1; |
rommem[11328] <= 12'h016; |
rommem[11329] <= 12'h027; |
rommem[11330] <= 12'h00D; |
rommem[11331] <= 12'h030; |
rommem[11332] <= 12'h80F; |
rommem[11333] <= 12'hFFB; |
rommem[11334] <= 12'h000; |
rommem[11335] <= 12'h04F; |
rommem[11336] <= 12'h0E6; |
rommem[11337] <= 12'h80F; |
rommem[11338] <= 12'hFFB; |
rommem[11339] <= 12'h000; |
rommem[11340] <= 12'h00C; |
rommem[11341] <= 12'h015; |
rommem[11342] <= 12'h020; |
rommem[11343] <= 12'h003; |
rommem[11344] <= 12'h0CC; |
rommem[11345] <= 12'hFFF; |
rommem[11346] <= 12'hFFF; |
rommem[11347] <= 12'h035; |
rommem[11348] <= 12'h0B9; |
rommem[11349] <= 12'h034; |
rommem[11350] <= 12'h019; |
rommem[11351] <= 12'h086; |
rommem[11352] <= 12'hFFC; |
rommem[11353] <= 12'h01F; |
rommem[11354] <= 12'h08B; |
rommem[11355] <= 12'h01A; |
rommem[11356] <= 12'h010; |
rommem[11357] <= 12'h0D6; |
rommem[11358] <= 12'h015; |
rommem[11359] <= 12'h0D1; |
rommem[11360] <= 12'h016; |
rommem[11361] <= 12'h027; |
rommem[11362] <= 12'h00B; |
rommem[11363] <= 12'h030; |
rommem[11364] <= 12'h80F; |
rommem[11365] <= 12'hFFB; |
rommem[11366] <= 12'h000; |
rommem[11367] <= 12'h04F; |
rommem[11368] <= 12'h0E6; |
rommem[11369] <= 12'h80F; |
rommem[11370] <= 12'hFFB; |
rommem[11371] <= 12'h000; |
rommem[11372] <= 12'h020; |
rommem[11373] <= 12'h003; |
rommem[11374] <= 12'h0CC; |
rommem[11375] <= 12'hFFF; |
rommem[11376] <= 12'hFFF; |
rommem[11377] <= 12'h035; |
rommem[11378] <= 12'h099; |
rommem[11379] <= 12'h034; |
rommem[11380] <= 12'h009; |
rommem[11381] <= 12'h086; |
rommem[11382] <= 12'hFFC; |
rommem[11383] <= 12'h01F; |
rommem[11384] <= 12'h08B; |
rommem[11385] <= 12'h015; |
rommem[11386] <= 12'h0B6; |
rommem[11387] <= 12'hFFF; |
rommem[11388] <= 12'hFFF; |
rommem[11389] <= 12'hE30; |
rommem[11390] <= 12'h100; |
rommem[11391] <= 12'h01C; |
rommem[11392] <= 12'h0EF; |
rommem[11393] <= 12'h039; |
rommem[11394] <= 12'h0CC; |
rommem[11395] <= 12'hFFF; |
rommem[11396] <= 12'hFFF; |
rommem[11397] <= 12'h01C; |
rommem[11398] <= 12'h0EF; |
rommem[11399] <= 12'h039; |
rommem[11400] <= 12'h034; |
rommem[11401] <= 12'h003; |
rommem[11402] <= 12'h015; |
rommem[11403] <= 12'h0B6; |
rommem[11404] <= 12'hFFF; |
rommem[11405] <= 12'hFFF; |
rommem[11406] <= 12'hFE0; |
rommem[11407] <= 12'h0B1; |
rommem[11408] <= 12'hFFC; |
rommem[11409] <= 12'h010; |
rommem[11410] <= 12'h026; |
rommem[11411] <= 12'hFF6; |
rommem[11412] <= 12'h01C; |
rommem[11413] <= 12'h0EF; |
rommem[11414] <= 12'h01A; |
rommem[11415] <= 12'h010; |
rommem[11416] <= 12'h015; |
rommem[11417] <= 12'h0B6; |
rommem[11418] <= 12'hFFF; |
rommem[11419] <= 12'hE30; |
rommem[11420] <= 12'h101; |
rommem[11421] <= 12'h085; |
rommem[11422] <= 12'h010; |
rommem[11423] <= 12'h027; |
rommem[11424] <= 12'hFE9; |
rommem[11425] <= 12'h015; |
rommem[11426] <= 12'h0F7; |
rommem[11389] <= 12'hFE0; |
rommem[11390] <= 12'h091; |
rommem[11391] <= 12'h010; |
rommem[11392] <= 12'h026; |
rommem[11393] <= 12'h013; |
rommem[11394] <= 12'h01A; |
rommem[11395] <= 12'h010; |
rommem[11396] <= 12'h015; |
rommem[11397] <= 12'h0F6; |
rommem[11398] <= 12'hFFF; |
rommem[11399] <= 12'hE30; |
rommem[11400] <= 12'h101; |
rommem[11401] <= 12'h0C5; |
rommem[11402] <= 12'h008; |
rommem[11403] <= 12'h027; |
rommem[11404] <= 12'h008; |
rommem[11405] <= 12'h04F; |
rommem[11406] <= 12'h015; |
rommem[11407] <= 12'h0F6; |
rommem[11408] <= 12'hFFF; |
rommem[11409] <= 12'hE30; |
rommem[11410] <= 12'h100; |
rommem[11411] <= 12'h035; |
rommem[11412] <= 12'h089; |
rommem[11413] <= 12'h0CC; |
rommem[11414] <= 12'hFFF; |
rommem[11415] <= 12'hFFF; |
rommem[11416] <= 12'h035; |
rommem[11417] <= 12'h089; |
rommem[11418] <= 12'h034; |
rommem[11419] <= 12'h00B; |
rommem[11420] <= 12'h086; |
rommem[11421] <= 12'hFFC; |
rommem[11422] <= 12'h01F; |
rommem[11423] <= 12'h08B; |
rommem[11424] <= 12'h015; |
rommem[11425] <= 12'h0B6; |
rommem[11426] <= 12'hFFF; |
rommem[11427] <= 12'hFFF; |
rommem[11428] <= 12'hE30; |
rommem[11429] <= 12'h100; |
rommem[11430] <= 12'h035; |
rommem[11431] <= 12'h083; |
rommem[11432] <= 12'h04F; |
rommem[11433] <= 12'h0E6; |
rommem[11434] <= 12'hA08; |
rommem[11435] <= 12'h133; |
rommem[11436] <= 12'h0E0; |
rommem[11437] <= 12'hA08; |
rommem[11438] <= 12'h131; |
rommem[11439] <= 12'h02C; |
rommem[11440] <= 12'h009; |
rommem[11441] <= 12'h0CC; |
rommem[11442] <= 12'h001; |
rommem[11443] <= 12'h000; |
rommem[11444] <= 12'h0A3; |
rommem[11445] <= 12'hA08; |
rommem[11446] <= 12'h131; |
rommem[11447] <= 12'h0E3; |
rommem[11448] <= 12'hA08; |
rommem[11449] <= 12'h133; |
rommem[11450] <= 12'h039; |
rommem[11451] <= 12'h015; |
rommem[11452] <= 12'h0F6; |
rommem[11453] <= 12'hFFF; |
rommem[11454] <= 12'hE30; |
rommem[11455] <= 12'h101; |
rommem[11456] <= 12'h0C5; |
rommem[11457] <= 12'h008; |
rommem[11458] <= 12'h027; |
rommem[11459] <= 12'h049; |
rommem[11460] <= 12'h015; |
rommem[11461] <= 12'h0F6; |
rommem[11462] <= 12'hFFF; |
rommem[11463] <= 12'hE30; |
rommem[11464] <= 12'h100; |
rommem[11465] <= 12'h0C1; |
rommem[11466] <= 12'h014; |
rommem[11467] <= 12'h026; |
rommem[11468] <= 12'h000; |
rommem[11469] <= 12'h034; |
rommem[11470] <= 12'h004; |
rommem[11471] <= 12'h0B6; |
rommem[11472] <= 12'hFFC; |
rommem[11473] <= 12'h010; |
rommem[11474] <= 12'h048; |
rommem[11475] <= 12'h048; |
rommem[11476] <= 12'h048; |
rommem[11477] <= 12'h048; |
rommem[11478] <= 12'h08A; |
rommem[11479] <= 12'hC00; |
rommem[11480] <= 12'h05F; |
rommem[11481] <= 12'h01F; |
rommem[11482] <= 12'h002; |
rommem[11483] <= 12'h035; |
rommem[11484] <= 12'h004; |
rommem[11485] <= 12'h0A6; |
rommem[11486] <= 12'hA08; |
rommem[11487] <= 12'h133; |
rommem[11488] <= 12'h04C; |
rommem[11489] <= 12'h0A1; |
rommem[11490] <= 12'hA08; |
rommem[11491] <= 12'h131; |
rommem[11492] <= 12'h027; |
rommem[11493] <= 12'h027; |
rommem[11494] <= 12'h0A7; |
rommem[11495] <= 12'hA08; |
rommem[11496] <= 12'h133; |
rommem[11497] <= 12'h04A; |
rommem[11498] <= 12'h01E; |
rommem[11499] <= 12'h089; |
rommem[11500] <= 12'h030; |
rommem[11501] <= 12'hA0A; |
rommem[11502] <= 12'h000; |
rommem[11503] <= 12'hBFF; |
rommem[11504] <= 12'h000; |
rommem[11505] <= 12'h0A7; |
rommem[11506] <= 12'hA0F; |
rommem[11507] <= 12'h06D; |
rommem[11508] <= 12'hA08; |
rommem[11509] <= 12'h140; |
rommem[11510] <= 12'h026; |
rommem[11511] <= 12'hFC3; |
rommem[11512] <= 12'h08D; |
rommem[11513] <= 12'hFAE; |
rommem[11514] <= 12'h0C1; |
rommem[11515] <= 12'hFF0; |
rommem[11516] <= 12'h025; |
rommem[11517] <= 12'hFBD; |
rommem[11518] <= 12'h0C6; |
rommem[11519] <= 12'h013; |
rommem[11520] <= 12'h06F; |
rommem[11521] <= 12'hA08; |
rommem[11522] <= 12'h139; |
rommem[11523] <= 12'h0E7; |
rommem[11524] <= 12'hA08; |
rommem[11525] <= 12'h140; |
rommem[11526] <= 12'h015; |
rommem[11527] <= 12'h0F7; |
rommem[11528] <= 12'hFFF; |
rommem[11529] <= 12'hE30; |
rommem[11530] <= 12'h100; |
rommem[11531] <= 12'h020; |
rommem[11532] <= 12'hFAE; |
rommem[11533] <= 12'h039; |
rommem[11534] <= 12'h053; |
rommem[11535] <= 12'h065; |
rommem[11536] <= 12'h072; |
rommem[11537] <= 12'h069; |
rommem[11538] <= 12'h061; |
rommem[11539] <= 12'h06C; |
rommem[11540] <= 12'h000; |
rommem[11541] <= 12'h034; |
rommem[11542] <= 12'h016; |
rommem[11543] <= 12'h01F; |
rommem[11544] <= 12'h001; |
rommem[11545] <= 12'h0E6; |
rommem[11546] <= 12'h804; |
rommem[11547] <= 12'h027; |
rommem[11548] <= 12'h006; |
rommem[11549] <= 12'h030; |
rommem[11550] <= 12'h001; |
rommem[11551] <= 12'h08D; |
rommem[11552] <= 12'hF67; |
rommem[11553] <= 12'h020; |
rommem[11554] <= 12'hFF6; |
rommem[11555] <= 12'h035; |
rommem[11556] <= 12'h096; |
rommem[11557] <= 12'h034; |
rommem[11558] <= 12'h006; |
rommem[11559] <= 12'h0CC; |
rommem[11560] <= 12'hFFE; |
rommem[11561] <= 12'hD45; |
rommem[11562] <= 12'h017; |
rommem[11563] <= 12'hFFF; |
rommem[11564] <= 12'h6AD; |
rommem[11565] <= 12'h08D; |
rommem[11566] <= 12'hEC0; |
rommem[11567] <= 12'h0C6; |
rommem[11568] <= 12'h011; |
rommem[11569] <= 12'h08D; |
rommem[11570] <= 12'hF55; |
rommem[11571] <= 12'h08D; |
rommem[11572] <= 12'hF53; |
rommem[11573] <= 12'h08D; |
rommem[11574] <= 12'hF51; |
rommem[11575] <= 12'h0CC; |
rommem[11576] <= 12'hFFE; |
rommem[11577] <= 12'hD45; |
rommem[11578] <= 12'h08D; |
rommem[11579] <= 12'hFD9; |
rommem[11580] <= 12'h017; |
rommem[11581] <= 12'h000; |
rommem[11582] <= 12'h16A; |
rommem[11583] <= 12'h0C1; |
rommem[11584] <= 12'h003; |
rommem[11585] <= 12'h026; |
rommem[11586] <= 12'hFEC; |
rommem[11587] <= 12'h035; |
rommem[11588] <= 12'h086; |
rommem[11589] <= 12'h053; |
rommem[11590] <= 12'h065; |
rommem[11591] <= 12'h072; |
rommem[11592] <= 12'h069; |
rommem[11593] <= 12'h061; |
rommem[11594] <= 12'h06C; |
rommem[11595] <= 12'h020; |
rommem[11596] <= 12'h070; |
rommem[11597] <= 12'h06F; |
rommem[11598] <= 12'h072; |
rommem[11599] <= 12'h074; |
rommem[11600] <= 12'h020; |
rommem[11601] <= 12'h074; |
rommem[11602] <= 12'h065; |
rommem[11603] <= 12'h073; |
rommem[11604] <= 12'h074; |
rommem[11605] <= 12'h00D; |
rommem[11606] <= 12'h00A; |
rommem[11607] <= 12'h000; |
rommem[11608] <= 12'h0CC; |
rommem[11609] <= 12'hFFF; |
rommem[11610] <= 12'hFFF; |
rommem[11611] <= 12'h03F; |
rommem[11612] <= 12'h001; |
rommem[11613] <= 12'h0C1; |
rommem[11614] <= 12'h00A; |
rommem[11615] <= 12'h027; |
rommem[11616] <= 12'h013; |
rommem[11617] <= 12'h0C1; |
rommem[11618] <= 12'h003; |
rommem[11619] <= 12'h026; |
rommem[11620] <= 12'h003; |
rommem[11621] <= 12'h0F7; |
rommem[11428] <= 12'hFE0; |
rommem[11429] <= 12'h091; |
rommem[11430] <= 12'h010; |
rommem[11431] <= 12'h026; |
rommem[11432] <= 12'hFF7; |
rommem[11433] <= 12'h01C; |
rommem[11434] <= 12'h0EF; |
rommem[11435] <= 12'h01A; |
rommem[11436] <= 12'h010; |
rommem[11437] <= 12'h015; |
rommem[11438] <= 12'h0B6; |
rommem[11439] <= 12'hFFF; |
rommem[11440] <= 12'hE30; |
rommem[11441] <= 12'h101; |
rommem[11442] <= 12'h085; |
rommem[11443] <= 12'h010; |
rommem[11444] <= 12'h027; |
rommem[11445] <= 12'hFEA; |
rommem[11446] <= 12'h015; |
rommem[11447] <= 12'h0F7; |
rommem[11448] <= 12'hFFF; |
rommem[11449] <= 12'hE30; |
rommem[11450] <= 12'h100; |
rommem[11451] <= 12'h035; |
rommem[11452] <= 12'h08B; |
rommem[11453] <= 12'h04F; |
rommem[11454] <= 12'h0D6; |
rommem[11455] <= 12'h016; |
rommem[11456] <= 12'h0D0; |
rommem[11457] <= 12'h015; |
rommem[11458] <= 12'h02C; |
rommem[11459] <= 12'h007; |
rommem[11460] <= 12'h0CC; |
rommem[11461] <= 12'h001; |
rommem[11462] <= 12'h000; |
rommem[11463] <= 12'h093; |
rommem[11464] <= 12'h015; |
rommem[11465] <= 12'h0D3; |
rommem[11466] <= 12'h016; |
rommem[11467] <= 12'h039; |
rommem[11468] <= 12'h034; |
rommem[11469] <= 12'h008; |
rommem[11470] <= 12'h086; |
rommem[11471] <= 12'hFFC; |
rommem[11472] <= 12'h01F; |
rommem[11473] <= 12'h08B; |
rommem[11474] <= 12'h015; |
rommem[11475] <= 12'h0B6; |
rommem[11476] <= 12'hFFF; |
rommem[11477] <= 12'hE3F; |
rommem[11478] <= 12'h0D3; |
rommem[11479] <= 12'h027; |
rommem[11480] <= 12'h042; |
rommem[11481] <= 12'h015; |
rommem[11482] <= 12'h0F6; |
rommem[11483] <= 12'hFFF; |
rommem[11484] <= 12'hE30; |
rommem[11485] <= 12'h104; |
rommem[11486] <= 12'h02A; |
rommem[11487] <= 12'h03B; |
rommem[11488] <= 12'h015; |
rommem[11489] <= 12'h0F6; |
rommem[11490] <= 12'hFFF; |
rommem[11491] <= 12'hE30; |
rommem[11492] <= 12'h101; |
rommem[11493] <= 12'h0C5; |
rommem[11494] <= 12'h008; |
rommem[11495] <= 12'h027; |
rommem[11496] <= 12'h030; |
rommem[11497] <= 12'h015; |
rommem[11498] <= 12'h0F6; |
rommem[11499] <= 12'hFFF; |
rommem[11500] <= 12'hE30; |
rommem[11501] <= 12'h100; |
rommem[11502] <= 12'h096; |
rommem[11503] <= 12'h016; |
rommem[11504] <= 12'h04C; |
rommem[11505] <= 12'h091; |
rommem[11506] <= 12'h015; |
rommem[11507] <= 12'h027; |
rommem[11508] <= 12'h026; |
rommem[11509] <= 12'h097; |
rommem[11510] <= 12'h016; |
rommem[11511] <= 12'h04A; |
rommem[11512] <= 12'h01E; |
rommem[11513] <= 12'h089; |
rommem[11514] <= 12'h030; |
rommem[11515] <= 12'h80F; |
rommem[11516] <= 12'hFFB; |
rommem[11517] <= 12'h000; |
rommem[11518] <= 12'h0A7; |
rommem[11519] <= 12'h80F; |
rommem[11520] <= 12'hFFB; |
rommem[11521] <= 12'h000; |
rommem[11522] <= 12'h00D; |
rommem[11523] <= 12'h01A; |
rommem[11524] <= 12'h026; |
rommem[11525] <= 12'hFD3; |
rommem[11526] <= 12'h08D; |
rommem[11527] <= 12'hFB5; |
rommem[11528] <= 12'h0C1; |
rommem[11529] <= 12'hFE6; |
rommem[11530] <= 12'h025; |
rommem[11531] <= 12'hFCD; |
rommem[11532] <= 12'h0C6; |
rommem[11533] <= 12'h013; |
rommem[11534] <= 12'h00F; |
rommem[11535] <= 12'h019; |
rommem[11536] <= 12'h0D7; |
rommem[11537] <= 12'h01A; |
rommem[11538] <= 12'h015; |
rommem[11539] <= 12'h0F7; |
rommem[11540] <= 12'hFFF; |
rommem[11541] <= 12'hE30; |
rommem[11542] <= 12'h100; |
rommem[11543] <= 12'h020; |
rommem[11544] <= 12'hFC0; |
rommem[11545] <= 12'h035; |
rommem[11546] <= 12'h088; |
rommem[11547] <= 12'h035; |
rommem[11548] <= 12'h088; |
rommem[11549] <= 12'h053; |
rommem[11550] <= 12'h065; |
rommem[11551] <= 12'h072; |
rommem[11552] <= 12'h069; |
rommem[11553] <= 12'h061; |
rommem[11554] <= 12'h06C; |
rommem[11555] <= 12'h000; |
rommem[11556] <= 12'h034; |
rommem[11557] <= 12'h016; |
rommem[11558] <= 12'h01F; |
rommem[11559] <= 12'h001; |
rommem[11560] <= 12'h0E6; |
rommem[11561] <= 12'h804; |
rommem[11562] <= 12'h027; |
rommem[11563] <= 12'h006; |
rommem[11564] <= 12'h030; |
rommem[11565] <= 12'h001; |
rommem[11566] <= 12'h08D; |
rommem[11567] <= 12'hF6A; |
rommem[11568] <= 12'h020; |
rommem[11569] <= 12'hFF6; |
rommem[11570] <= 12'h035; |
rommem[11571] <= 12'h096; |
rommem[11572] <= 12'h034; |
rommem[11573] <= 12'h006; |
rommem[11574] <= 12'h0CC; |
rommem[11575] <= 12'hFFE; |
rommem[11576] <= 12'hD54; |
rommem[11577] <= 12'h017; |
rommem[11578] <= 12'hFFF; |
rommem[11579] <= 12'h6A1; |
rommem[11580] <= 12'h08D; |
rommem[11581] <= 12'hEB1; |
rommem[11582] <= 12'h0C6; |
rommem[11583] <= 12'h011; |
rommem[11584] <= 12'h08D; |
rommem[11585] <= 12'hF58; |
rommem[11586] <= 12'h08D; |
rommem[11587] <= 12'hF56; |
rommem[11588] <= 12'h08D; |
rommem[11589] <= 12'hF54; |
rommem[11590] <= 12'h0CC; |
rommem[11591] <= 12'hFFE; |
rommem[11592] <= 12'hD54; |
rommem[11593] <= 12'h08D; |
rommem[11594] <= 12'hFD9; |
rommem[11595] <= 12'h017; |
rommem[11596] <= 12'h000; |
rommem[11597] <= 12'h443; |
rommem[11598] <= 12'h0C1; |
rommem[11599] <= 12'h003; |
rommem[11600] <= 12'h026; |
rommem[11601] <= 12'hFEC; |
rommem[11602] <= 12'h035; |
rommem[11603] <= 12'h086; |
rommem[11604] <= 12'h053; |
rommem[11605] <= 12'h065; |
rommem[11606] <= 12'h072; |
rommem[11607] <= 12'h069; |
rommem[11608] <= 12'h061; |
rommem[11609] <= 12'h06C; |
rommem[11610] <= 12'h020; |
rommem[11611] <= 12'h070; |
rommem[11612] <= 12'h06F; |
rommem[11613] <= 12'h072; |
rommem[11614] <= 12'h074; |
rommem[11615] <= 12'h020; |
rommem[11616] <= 12'h074; |
rommem[11617] <= 12'h065; |
rommem[11618] <= 12'h073; |
rommem[11619] <= 12'h074; |
rommem[11620] <= 12'h00D; |
rommem[11621] <= 12'h00A; |
rommem[11622] <= 12'h000; |
rommem[11623] <= 12'h94A; |
rommem[11624] <= 12'h0C1; |
rommem[11625] <= 12'h01A; |
rommem[11626] <= 12'h026; |
rommem[11627] <= 12'h003; |
rommem[11628] <= 12'h0F7; |
rommem[11629] <= 12'h000; |
rommem[11630] <= 12'h94A; |
rommem[11631] <= 12'h07D; |
rommem[11632] <= 12'h000; |
rommem[11633] <= 12'h94A; |
rommem[11634] <= 12'h027; |
rommem[11635] <= 12'hFE4; |
rommem[11636] <= 12'h039; |
rommem[11637] <= 12'h03F; |
rommem[11638] <= 12'h001; |
rommem[11639] <= 12'h017; |
rommem[11640] <= 12'h000; |
rommem[11641] <= 12'h4F6; |
rommem[11642] <= 12'h07D; |
rommem[11643] <= 12'h000; |
rommem[11644] <= 12'h94A; |
rommem[11645] <= 12'h027; |
rommem[11646] <= 12'h002; |
rommem[11647] <= 12'h04F; |
rommem[11648] <= 12'h039; |
rommem[11649] <= 12'h058; |
rommem[11650] <= 12'h058; |
rommem[11651] <= 12'h058; |
rommem[11652] <= 12'h058; |
rommem[11653] <= 12'h034; |
rommem[11654] <= 12'h004; |
rommem[11655] <= 12'h03F; |
rommem[11656] <= 12'h001; |
rommem[11657] <= 12'h017; |
rommem[11623] <= 12'h07D; |
rommem[11624] <= 12'h000; |
rommem[11625] <= 12'h94E; |
rommem[11626] <= 12'h027; |
rommem[11627] <= 12'h00D; |
rommem[11628] <= 12'h0E6; |
rommem[11629] <= 12'h90F; |
rommem[11630] <= 12'h000; |
rommem[11631] <= 12'h950; |
rommem[11632] <= 12'h07C; |
rommem[11633] <= 12'h000; |
rommem[11634] <= 12'h951; |
rommem[11635] <= 12'h026; |
rommem[11636] <= 12'h003; |
rommem[11637] <= 12'h07C; |
rommem[11638] <= 12'h000; |
rommem[11639] <= 12'h950; |
rommem[11640] <= 12'h039; |
rommem[11641] <= 12'h0CC; |
rommem[11642] <= 12'hFFF; |
rommem[11643] <= 12'hFFF; |
rommem[11644] <= 12'h03F; |
rommem[11645] <= 12'h001; |
rommem[11646] <= 12'h039; |
rommem[11647] <= 12'h08D; |
rommem[11648] <= 12'hFE6; |
rommem[11649] <= 12'h0C1; |
rommem[11650] <= 12'h00A; |
rommem[11651] <= 12'h027; |
rommem[11652] <= 12'h013; |
rommem[11653] <= 12'h0C1; |
rommem[11654] <= 12'h003; |
rommem[11655] <= 12'h026; |
rommem[11656] <= 12'h003; |
rommem[11657] <= 12'h0F7; |
rommem[11658] <= 12'h000; |
rommem[11659] <= 12'h4E4; |
rommem[11660] <= 12'h07D; |
rommem[11661] <= 12'h000; |
rommem[11662] <= 12'h94A; |
rommem[11663] <= 12'h026; |
rommem[11664] <= 12'h011; |
rommem[11665] <= 12'h0EA; |
rommem[11666] <= 12'hE00; |
rommem[11667] <= 12'h058; |
rommem[11668] <= 12'h058; |
rommem[11669] <= 12'h058; |
rommem[11670] <= 12'h058; |
rommem[11671] <= 12'h034; |
rommem[11672] <= 12'h004; |
rommem[11673] <= 12'h03F; |
rommem[11674] <= 12'h001; |
rommem[11675] <= 12'h017; |
rommem[11659] <= 12'h94A; |
rommem[11660] <= 12'h0C1; |
rommem[11661] <= 12'h01A; |
rommem[11662] <= 12'h026; |
rommem[11663] <= 12'h003; |
rommem[11664] <= 12'h0F7; |
rommem[11665] <= 12'h000; |
rommem[11666] <= 12'h94A; |
rommem[11667] <= 12'h07D; |
rommem[11668] <= 12'h000; |
rommem[11669] <= 12'h94A; |
rommem[11670] <= 12'h027; |
rommem[11671] <= 12'hFE7; |
rommem[11672] <= 12'h039; |
rommem[11673] <= 12'h034; |
rommem[11674] <= 12'h004; |
rommem[11675] <= 12'h0FB; |
rommem[11676] <= 12'h000; |
rommem[11677] <= 12'h4D2; |
rommem[11678] <= 12'h0EA; |
rommem[11679] <= 12'hE00; |
rommem[11680] <= 12'h04F; |
rommem[11681] <= 12'h039; |
rommem[11682] <= 12'h032; |
rommem[11683] <= 12'h601; |
rommem[11684] <= 12'h04F; |
rommem[11685] <= 12'h039; |
rommem[11686] <= 12'h07F; |
rommem[11687] <= 12'h000; |
rommem[11688] <= 12'h940; |
rommem[11689] <= 12'h07F; |
rommem[11690] <= 12'h000; |
rommem[11691] <= 12'h941; |
rommem[11692] <= 12'h07F; |
rommem[11693] <= 12'h000; |
rommem[11694] <= 12'h942; |
rommem[11695] <= 12'h07F; |
rommem[11696] <= 12'h000; |
rommem[11697] <= 12'h943; |
rommem[11698] <= 12'h039; |
rommem[11699] <= 12'h08D; |
rommem[11700] <= 12'hFF1; |
rommem[11677] <= 12'h94B; |
rommem[11678] <= 12'h0F7; |
rommem[11679] <= 12'h000; |
rommem[11680] <= 12'h94B; |
rommem[11681] <= 12'h035; |
rommem[11682] <= 12'h084; |
rommem[11683] <= 12'h08D; |
rommem[11684] <= 12'hFC2; |
rommem[11685] <= 12'h017; |
rommem[11686] <= 12'h000; |
rommem[11687] <= 12'h7F7; |
rommem[11688] <= 12'h07D; |
rommem[11689] <= 12'h000; |
rommem[11690] <= 12'h94A; |
rommem[11691] <= 12'h027; |
rommem[11692] <= 12'h002; |
rommem[11693] <= 12'h04F; |
rommem[11694] <= 12'h039; |
rommem[11695] <= 12'h058; |
rommem[11696] <= 12'h058; |
rommem[11697] <= 12'h058; |
rommem[11698] <= 12'h058; |
rommem[11699] <= 12'h034; |
rommem[11700] <= 12'h004; |
rommem[11701] <= 12'h08D; |
rommem[11702] <= 12'hFBE; |
rommem[11703] <= 12'h0F7; |
rommem[11702] <= 12'hFB0; |
rommem[11703] <= 12'h017; |
rommem[11704] <= 12'h000; |
rommem[11705] <= 12'h942; |
rommem[11705] <= 12'h7E5; |
rommem[11706] <= 12'h07D; |
rommem[11707] <= 12'h000; |
rommem[11708] <= 12'h94A; |
rommem[11709] <= 12'h026; |
rommem[11710] <= 12'h005; |
rommem[11711] <= 12'h08D; |
rommem[11712] <= 12'hFB4; |
rommem[11713] <= 12'h0F7; |
rommem[11714] <= 12'h000; |
rommem[11715] <= 12'h943; |
rommem[11716] <= 12'h039; |
rommem[11717] <= 12'h08D; |
rommem[11718] <= 12'hFDF; |
rommem[11710] <= 12'h011; |
rommem[11711] <= 12'h0EA; |
rommem[11712] <= 12'hE00; |
rommem[11713] <= 12'h058; |
rommem[11714] <= 12'h058; |
rommem[11715] <= 12'h058; |
rommem[11716] <= 12'h058; |
rommem[11717] <= 12'h034; |
rommem[11718] <= 12'h004; |
rommem[11719] <= 12'h08D; |
rommem[11720] <= 12'hFAC; |
rommem[11721] <= 12'h0F7; |
rommem[11720] <= 12'hF9E; |
rommem[11721] <= 12'h017; |
rommem[11722] <= 12'h000; |
rommem[11723] <= 12'h941; |
rommem[11724] <= 12'h07D; |
rommem[11725] <= 12'h000; |
rommem[11726] <= 12'h94A; |
rommem[11727] <= 12'h026; |
rommem[11728] <= 12'h00F; |
rommem[11729] <= 12'h08D; |
rommem[11730] <= 12'hFA2; |
rommem[11731] <= 12'h0F7; |
rommem[11732] <= 12'h000; |
rommem[11733] <= 12'h942; |
rommem[11734] <= 12'h07D; |
rommem[11735] <= 12'h000; |
rommem[11736] <= 12'h94A; |
rommem[11737] <= 12'h026; |
rommem[11738] <= 12'h005; |
rommem[11739] <= 12'h08D; |
rommem[11740] <= 12'hF98; |
rommem[11741] <= 12'h0F7; |
rommem[11723] <= 12'h7D3; |
rommem[11724] <= 12'h0EA; |
rommem[11725] <= 12'hE00; |
rommem[11726] <= 12'h04F; |
rommem[11727] <= 12'h039; |
rommem[11728] <= 12'h032; |
rommem[11729] <= 12'h601; |
rommem[11730] <= 12'h04F; |
rommem[11731] <= 12'h039; |
rommem[11732] <= 12'h07F; |
rommem[11733] <= 12'h000; |
rommem[11734] <= 12'h940; |
rommem[11735] <= 12'h07F; |
rommem[11736] <= 12'h000; |
rommem[11737] <= 12'h941; |
rommem[11738] <= 12'h07F; |
rommem[11739] <= 12'h000; |
rommem[11740] <= 12'h942; |
rommem[11741] <= 12'h07F; |
rommem[11742] <= 12'h000; |
rommem[11743] <= 12'h943; |
rommem[11744] <= 12'h039; |
rommem[11745] <= 12'h05F; |
rommem[11746] <= 12'h034; |
rommem[11747] <= 12'h004; |
rommem[11748] <= 12'h08D; |
rommem[11749] <= 12'hF8F; |
rommem[11750] <= 12'h07D; |
rommem[11751] <= 12'h000; |
rommem[11752] <= 12'h94A; |
rommem[11753] <= 12'h026; |
rommem[11754] <= 12'h01C; |
rommem[11755] <= 12'h015; |
rommem[11756] <= 12'h0E7; |
rommem[11757] <= 12'h90F; |
rommem[11758] <= 12'h000; |
rommem[11759] <= 12'h941; |
rommem[11760] <= 12'h07C; |
rommem[11761] <= 12'h000; |
rommem[11762] <= 12'h943; |
rommem[11763] <= 12'h026; |
rommem[11764] <= 12'h008; |
rommem[11765] <= 12'h07C; |
rommem[11766] <= 12'h000; |
rommem[11767] <= 12'h942; |
rommem[11768] <= 12'h026; |
rommem[11769] <= 12'h003; |
rommem[11770] <= 12'h07C; |
rommem[11771] <= 12'h000; |
rommem[11772] <= 12'h941; |
rommem[11773] <= 12'h035; |
rommem[11774] <= 12'h004; |
rommem[11775] <= 12'h05C; |
rommem[11776] <= 12'h0F1; |
rommem[11745] <= 12'h08D; |
rommem[11746] <= 12'hFF1; |
rommem[11747] <= 12'h08D; |
rommem[11748] <= 12'hFBE; |
rommem[11749] <= 12'h08D; |
rommem[11750] <= 12'hFB2; |
rommem[11751] <= 12'h0F7; |
rommem[11752] <= 12'h000; |
rommem[11753] <= 12'h942; |
rommem[11754] <= 12'h07D; |
rommem[11755] <= 12'h000; |
rommem[11756] <= 12'h94A; |
rommem[11757] <= 12'h026; |
rommem[11758] <= 12'h007; |
rommem[11759] <= 12'h08D; |
rommem[11760] <= 12'hFB2; |
rommem[11761] <= 12'h08D; |
rommem[11762] <= 12'hFA6; |
rommem[11763] <= 12'h0F7; |
rommem[11764] <= 12'h000; |
rommem[11765] <= 12'h943; |
rommem[11766] <= 12'h039; |
rommem[11767] <= 12'h08D; |
rommem[11768] <= 12'hFDB; |
rommem[11769] <= 12'h08D; |
rommem[11770] <= 12'hFA8; |
rommem[11771] <= 12'h08D; |
rommem[11772] <= 12'hF9C; |
rommem[11773] <= 12'h0F7; |
rommem[11774] <= 12'h000; |
rommem[11775] <= 12'h941; |
rommem[11776] <= 12'h07D; |
rommem[11777] <= 12'h000; |
rommem[11778] <= 12'h949; |
rommem[11779] <= 12'h025; |
rommem[11780] <= 12'hFDD; |
rommem[11781] <= 12'h020; |
rommem[11782] <= 12'hF6E; |
rommem[11783] <= 12'h032; |
rommem[11784] <= 12'h601; |
rommem[11785] <= 12'h020; |
rommem[11786] <= 12'hF6A; |
rommem[11787] <= 12'h08D; |
rommem[11788] <= 12'hFA6; |
rommem[11789] <= 12'h08D; |
rommem[11790] <= 12'hFD2; |
rommem[11791] <= 12'h020; |
rommem[11792] <= 12'h072; |
rommem[11778] <= 12'h94A; |
rommem[11779] <= 12'h026; |
rommem[11780] <= 12'h013; |
rommem[11781] <= 12'h08D; |
rommem[11782] <= 12'hF9C; |
rommem[11783] <= 12'h08D; |
rommem[11784] <= 12'hF90; |
rommem[11785] <= 12'h0F7; |
rommem[11786] <= 12'h000; |
rommem[11787] <= 12'h942; |
rommem[11788] <= 12'h07D; |
rommem[11789] <= 12'h000; |
rommem[11790] <= 12'h94A; |
rommem[11791] <= 12'h026; |
rommem[11792] <= 12'h007; |
rommem[11793] <= 12'h08D; |
rommem[11794] <= 12'hFB2; |
rommem[11794] <= 12'hF90; |
rommem[11795] <= 12'h08D; |
rommem[11796] <= 12'hFCC; |
rommem[11797] <= 12'h020; |
rommem[11798] <= 12'h06C; |
rommem[11799] <= 12'h08D; |
rommem[11800] <= 12'hF9A; |
rommem[11801] <= 12'h0FC; |
rommem[11802] <= 12'h000; |
rommem[11803] <= 12'h942; |
rommem[11804] <= 12'h0FD; |
rommem[11805] <= 12'h000; |
rommem[11806] <= 12'h946; |
rommem[11807] <= 12'h0FC; |
rommem[11808] <= 12'h000; |
rommem[11809] <= 12'h940; |
rommem[11810] <= 12'h0FD; |
rommem[11811] <= 12'h000; |
rommem[11812] <= 12'h944; |
rommem[11813] <= 12'h020; |
rommem[11814] <= 12'h069; |
rommem[11815] <= 12'h08D; |
rommem[11816] <= 12'hF9C; |
rommem[11817] <= 12'h0FC; |
rommem[11818] <= 12'h000; |
rommem[11819] <= 12'h942; |
rommem[11820] <= 12'h0FD; |
rommem[11821] <= 12'h000; |
rommem[11822] <= 12'h946; |
rommem[11823] <= 12'h0FC; |
rommem[11796] <= 12'hF84; |
rommem[11797] <= 12'h0F7; |
rommem[11798] <= 12'h000; |
rommem[11799] <= 12'h943; |
rommem[11800] <= 12'h039; |
rommem[11801] <= 12'h05F; |
rommem[11802] <= 12'h034; |
rommem[11803] <= 12'h004; |
rommem[11804] <= 12'h08D; |
rommem[11805] <= 12'hF85; |
rommem[11806] <= 12'h08D; |
rommem[11807] <= 12'hF79; |
rommem[11808] <= 12'h07D; |
rommem[11809] <= 12'h000; |
rommem[11810] <= 12'h94A; |
rommem[11811] <= 12'h026; |
rommem[11812] <= 12'h01E; |
rommem[11813] <= 12'h015; |
rommem[11814] <= 12'h0E7; |
rommem[11815] <= 12'h90F; |
rommem[11816] <= 12'h000; |
rommem[11817] <= 12'h941; |
rommem[11818] <= 12'h07C; |
rommem[11819] <= 12'h000; |
rommem[11820] <= 12'h943; |
rommem[11821] <= 12'h026; |
rommem[11822] <= 12'h008; |
rommem[11823] <= 12'h07C; |
rommem[11824] <= 12'h000; |
rommem[11825] <= 12'h940; |
rommem[11826] <= 12'h0FD; |
rommem[11827] <= 12'h000; |
rommem[11828] <= 12'h944; |
rommem[11829] <= 12'h020; |
rommem[11830] <= 12'h059; |
rommem[11831] <= 12'h07F; |
rommem[11832] <= 12'h000; |
rommem[11833] <= 12'h94A; |
rommem[11834] <= 12'h0CC; |
rommem[11835] <= 12'hFFE; |
rommem[11836] <= 12'hE93; |
rommem[11837] <= 12'h03F; |
rommem[11838] <= 12'h004; |
rommem[11839] <= 12'h03F; |
rommem[11840] <= 12'h001; |
rommem[11841] <= 12'h0C1; |
rommem[11842] <= 12'h01A; |
rommem[11843] <= 12'h027; |
rommem[11844] <= 12'h04B; |
rommem[11845] <= 12'h0C1; |
rommem[11846] <= 12'h053; |
rommem[11847] <= 12'h026; |
rommem[11848] <= 12'h03A; |
rommem[11849] <= 12'h03F; |
rommem[11850] <= 12'h001; |
rommem[11851] <= 12'h0C1; |
rommem[11852] <= 12'h030; |
rommem[11853] <= 12'h025; |
rommem[11854] <= 12'h034; |
rommem[11855] <= 12'h0C1; |
rommem[11856] <= 12'h039; |
rommem[11857] <= 12'h022; |
rommem[11858] <= 12'h030; |
rommem[11859] <= 12'h0F7; |
rommem[11860] <= 12'h000; |
rommem[11861] <= 12'h948; |
rommem[11862] <= 12'h08D; |
rommem[11863] <= 12'hF1D; |
rommem[11864] <= 12'h0F7; |
rommem[11865] <= 12'h000; |
rommem[11866] <= 12'h949; |
rommem[11867] <= 12'h07D; |
rommem[11868] <= 12'h000; |
rommem[11869] <= 12'h94A; |
rommem[11870] <= 12'h026; |
rommem[11871] <= 12'h030; |
rommem[11872] <= 12'h0F6; |
rommem[11825] <= 12'h942; |
rommem[11826] <= 12'h026; |
rommem[11827] <= 12'h003; |
rommem[11828] <= 12'h07C; |
rommem[11829] <= 12'h000; |
rommem[11830] <= 12'h941; |
rommem[11831] <= 12'h035; |
rommem[11832] <= 12'h004; |
rommem[11833] <= 12'h05C; |
rommem[11834] <= 12'h0F1; |
rommem[11835] <= 12'h000; |
rommem[11836] <= 12'h949; |
rommem[11837] <= 12'h025; |
rommem[11838] <= 12'hFDB; |
rommem[11839] <= 12'h08D; |
rommem[11840] <= 12'hF62; |
rommem[11841] <= 12'h020; |
rommem[11842] <= 12'hF56; |
rommem[11843] <= 12'h032; |
rommem[11844] <= 12'h601; |
rommem[11845] <= 12'h08D; |
rommem[11846] <= 12'hF5C; |
rommem[11847] <= 12'h020; |
rommem[11848] <= 12'hF50; |
rommem[11849] <= 12'h08D; |
rommem[11850] <= 12'hF96; |
rommem[11851] <= 12'h08D; |
rommem[11852] <= 12'hFCC; |
rommem[11853] <= 12'h07D; |
rommem[11854] <= 12'h000; |
rommem[11855] <= 12'h94B; |
rommem[11856] <= 12'h027; |
rommem[11857] <= 12'h008; |
rommem[11858] <= 12'h07C; |
rommem[11859] <= 12'h000; |
rommem[11860] <= 12'h94C; |
rommem[11861] <= 12'h0CC; |
rommem[11862] <= 12'hFFE; |
rommem[11863] <= 12'hF19; |
rommem[11864] <= 12'h03F; |
rommem[11865] <= 12'h004; |
rommem[11866] <= 12'h020; |
rommem[11867] <= 12'h099; |
rommem[11868] <= 12'h08D; |
rommem[11869] <= 12'hF99; |
rommem[11870] <= 12'h08D; |
rommem[11871] <= 12'hFB9; |
rommem[11872] <= 12'h07D; |
rommem[11873] <= 12'h000; |
rommem[11874] <= 12'h948; |
rommem[11875] <= 12'h0C1; |
rommem[11876] <= 12'h030; |
rommem[11877] <= 12'h027; |
rommem[11878] <= 12'h01C; |
rommem[11879] <= 12'h0C1; |
rommem[11880] <= 12'h031; |
rommem[11881] <= 12'h027; |
rommem[11882] <= 12'hFA0; |
rommem[11883] <= 12'h0C1; |
rommem[11884] <= 12'h032; |
rommem[11885] <= 12'h027; |
rommem[11886] <= 12'hFA2; |
rommem[11887] <= 12'h0C1; |
rommem[11888] <= 12'h033; |
rommem[11889] <= 12'h027; |
rommem[11890] <= 12'h010; |
rommem[11891] <= 12'h0C1; |
rommem[11892] <= 12'h035; |
rommem[11893] <= 12'h027; |
rommem[11894] <= 12'h00C; |
rommem[11895] <= 12'h0C1; |
rommem[11896] <= 12'h037; |
rommem[11897] <= 12'h027; |
rommem[11898] <= 12'h015; |
rommem[11899] <= 12'h0C1; |
rommem[11900] <= 12'h038; |
rommem[11901] <= 12'h027; |
rommem[11902] <= 12'hFA8; |
rommem[11903] <= 12'h0C1; |
rommem[11904] <= 12'h039; |
rommem[11905] <= 12'h027; |
rommem[11906] <= 12'hF94; |
rommem[11907] <= 12'h0C6; |
rommem[11908] <= 12'h02E; |
rommem[11909] <= 12'h03F; |
rommem[11910] <= 12'h002; |
rommem[11911] <= 12'h08D; |
rommem[11912] <= 12'hECF; |
rommem[11913] <= 12'h07D; |
rommem[11914] <= 12'h000; |
rommem[11915] <= 12'h94A; |
rommem[11916] <= 12'h026; |
rommem[11917] <= 12'h002; |
rommem[11918] <= 12'h020; |
rommem[11919] <= 12'hFAF; |
rommem[11920] <= 12'h016; |
rommem[11921] <= 12'h000; |
rommem[11922] <= 12'h1A6; |
rommem[11923] <= 12'h053; |
rommem[11924] <= 12'h031; |
rommem[11925] <= 12'h039; |
rommem[11926] <= 12'h020; |
rommem[11927] <= 12'h04C; |
rommem[11928] <= 12'h06F; |
rommem[11929] <= 12'h061; |
rommem[11930] <= 12'h064; |
rommem[11931] <= 12'h065; |
rommem[11932] <= 12'h072; |
rommem[11933] <= 12'h020; |
rommem[11934] <= 12'h041; |
rommem[11935] <= 12'h063; |
rommem[11936] <= 12'h074; |
rommem[11937] <= 12'h069; |
rommem[11938] <= 12'h076; |
rommem[11939] <= 12'h065; |
rommem[11940] <= 12'h00D; |
rommem[11941] <= 12'h00A; |
rommem[11942] <= 12'h000; |
rommem[11943] <= 12'h020; |
rommem[11944] <= 12'hBE7; |
rommem[11945] <= 12'h034; |
rommem[11946] <= 12'h004; |
rommem[11947] <= 12'h015; |
rommem[11948] <= 12'h0F6; |
rommem[11949] <= 12'hFFF; |
rommem[11950] <= 12'hFFF; |
rommem[11951] <= 12'hFE0; |
rommem[11952] <= 12'h0F1; |
rommem[11953] <= 12'hFFC; |
rommem[11954] <= 12'h010; |
rommem[11955] <= 12'h026; |
rommem[11956] <= 12'hFF6; |
rommem[11957] <= 12'h017; |
rommem[11958] <= 12'hFFF; |
rommem[11959] <= 12'hDAC; |
rommem[11960] <= 12'h04D; |
rommem[11961] <= 12'h02B; |
rommem[11962] <= 12'h003; |
rommem[11963] <= 12'h032; |
rommem[11964] <= 12'h601; |
rommem[11965] <= 12'h039; |
rommem[11966] <= 12'h035; |
rommem[11967] <= 12'h004; |
rommem[11968] <= 12'h05D; |
rommem[11969] <= 12'h02B; |
rommem[11970] <= 12'hFE6; |
rommem[11971] <= 12'h0CC; |
rommem[11972] <= 12'hFFF; |
rommem[11973] <= 12'hFFF; |
rommem[11974] <= 12'h039; |
rommem[11975] <= 12'h08D; |
rommem[11976] <= 12'hFE0; |
rommem[11977] <= 12'h020; |
rommem[11978] <= 12'h009; |
rommem[11979] <= 12'h08D; |
rommem[11980] <= 12'hFDC; |
rommem[11981] <= 12'h015; |
rommem[11982] <= 12'h07D; |
rommem[11983] <= 12'hFFF; |
rommem[11984] <= 12'hFFC; |
rommem[11985] <= 12'hA00; |
rommem[11986] <= 12'h027; |
rommem[11987] <= 12'h00C; |
rommem[11988] <= 12'h081; |
rommem[11989] <= 12'h00D; |
rommem[11990] <= 12'h026; |
rommem[11991] <= 12'h005; |
rommem[11992] <= 12'h017; |
rommem[11993] <= 12'hFFE; |
rommem[11994] <= 12'h1F7; |
rommem[11995] <= 12'h020; |
rommem[11996] <= 12'h003; |
rommem[11997] <= 12'h017; |
rommem[11998] <= 12'hFFF; |
rommem[11999] <= 12'h439; |
rommem[12000] <= 12'h039; |
rommem[12001] <= 12'h06E; |
rommem[12002] <= 12'h90F; |
rommem[12003] <= 12'h000; |
rommem[12004] <= 12'h800; |
rommem[12005] <= 12'h015; |
rommem[12006] <= 12'h0F7; |
rommem[12007] <= 12'hFFF; |
rommem[12008] <= 12'hFFC; |
rommem[12009] <= 12'hA00; |
rommem[12010] <= 12'h039; |
rommem[12011] <= 12'h015; |
rommem[12012] <= 12'h0BF; |
rommem[12013] <= 12'hFFF; |
rommem[12014] <= 12'hE10; |
rommem[12015] <= 12'h3C0; |
rommem[12016] <= 12'h015; |
rommem[12017] <= 12'h0FD; |
rommem[12018] <= 12'hFFF; |
rommem[12019] <= 12'hE10; |
rommem[12020] <= 12'h3C2; |
rommem[12021] <= 12'h039; |
rommem[12022] <= 12'h000; |
rommem[12023] <= 12'h000; |
rommem[12024] <= 12'h000; |
rommem[12025] <= 12'h000; |
rommem[12026] <= 12'h000; |
rommem[12027] <= 12'h000; |
rommem[11874] <= 12'h94B; |
rommem[11875] <= 12'h027; |
rommem[11876] <= 12'h008; |
rommem[11877] <= 12'h07C; |
rommem[11878] <= 12'h000; |
rommem[11879] <= 12'h94C; |
rommem[11880] <= 12'h0CC; |
rommem[11881] <= 12'hFFE; |
rommem[11882] <= 12'hF19; |
rommem[11883] <= 12'h03F; |
rommem[11884] <= 12'h004; |
rommem[11885] <= 12'h020; |
rommem[11886] <= 12'h086; |
rommem[11887] <= 12'h08D; |
rommem[11888] <= 12'hF70; |
rommem[11889] <= 12'h0FC; |
rommem[11890] <= 12'h000; |
rommem[11891] <= 12'h942; |
rommem[11892] <= 12'h0FD; |
rommem[11893] <= 12'h000; |
rommem[11894] <= 12'h946; |
rommem[11895] <= 12'h0FC; |
rommem[11896] <= 12'h000; |
rommem[11897] <= 12'h940; |
rommem[11898] <= 12'h0FD; |
rommem[11899] <= 12'h000; |
rommem[11900] <= 12'h944; |
rommem[11901] <= 12'h020; |
rommem[11902] <= 12'h083; |
rommem[11903] <= 12'h08D; |
rommem[11904] <= 12'hF76; |
rommem[11905] <= 12'h0FC; |
rommem[11906] <= 12'h000; |
rommem[11907] <= 12'h942; |
rommem[11908] <= 12'h0FD; |
rommem[11909] <= 12'h000; |
rommem[11910] <= 12'h946; |
rommem[11911] <= 12'h0FC; |
rommem[11912] <= 12'h000; |
rommem[11913] <= 12'h940; |
rommem[11914] <= 12'h0FD; |
rommem[11915] <= 12'h000; |
rommem[11916] <= 12'h944; |
rommem[11917] <= 12'h020; |
rommem[11918] <= 12'h073; |
rommem[11919] <= 12'h07F; |
rommem[11920] <= 12'h000; |
rommem[11921] <= 12'h94E; |
rommem[11922] <= 12'h017; |
rommem[11923] <= 12'h000; |
rommem[11924] <= 12'h6FC; |
rommem[11925] <= 12'h05D; |
rommem[11926] <= 12'h027; |
rommem[11927] <= 12'h009; |
rommem[11928] <= 12'h07C; |
rommem[11929] <= 12'h000; |
rommem[11930] <= 12'h94E; |
rommem[11931] <= 12'h0FC; |
rommem[11932] <= 12'h000; |
rommem[11933] <= 12'h912; |
rommem[11934] <= 12'h0FD; |
rommem[11935] <= 12'h000; |
rommem[11936] <= 12'h950; |
rommem[11937] <= 12'h07F; |
rommem[11938] <= 12'h000; |
rommem[11939] <= 12'h94A; |
rommem[11940] <= 12'h0CC; |
rommem[11941] <= 12'hFFE; |
rommem[11942] <= 12'hF05; |
rommem[11943] <= 12'h03F; |
rommem[11944] <= 12'h004; |
rommem[11945] <= 12'h07F; |
rommem[11946] <= 12'h000; |
rommem[11947] <= 12'h94C; |
rommem[11948] <= 12'h08D; |
rommem[11949] <= 12'hEB9; |
rommem[11950] <= 12'h0C1; |
rommem[11951] <= 12'h01A; |
rommem[11952] <= 12'h027; |
rommem[11953] <= 12'h050; |
rommem[11954] <= 12'h07F; |
rommem[11955] <= 12'h000; |
rommem[11956] <= 12'h94B; |
rommem[11957] <= 12'h0C1; |
rommem[11958] <= 12'h043; |
rommem[11959] <= 12'h026; |
rommem[11960] <= 12'h03C; |
rommem[11961] <= 12'h08D; |
rommem[11962] <= 12'hEAC; |
rommem[11963] <= 12'h0C1; |
rommem[11964] <= 12'h030; |
rommem[11965] <= 12'h025; |
rommem[11966] <= 12'h036; |
rommem[11967] <= 12'h0C1; |
rommem[11968] <= 12'h039; |
rommem[11969] <= 12'h022; |
rommem[11970] <= 12'h032; |
rommem[11971] <= 12'h0F7; |
rommem[11972] <= 12'h000; |
rommem[11973] <= 12'h948; |
rommem[11974] <= 12'h08D; |
rommem[11975] <= 12'hEDB; |
rommem[11976] <= 12'h08D; |
rommem[11977] <= 12'hECF; |
rommem[11978] <= 12'h0F7; |
rommem[11979] <= 12'h000; |
rommem[11980] <= 12'h949; |
rommem[11981] <= 12'h07D; |
rommem[11982] <= 12'h000; |
rommem[11983] <= 12'h94A; |
rommem[11984] <= 12'h026; |
rommem[11985] <= 12'h030; |
rommem[11986] <= 12'h0F6; |
rommem[11987] <= 12'h000; |
rommem[11988] <= 12'h948; |
rommem[11989] <= 12'h0C1; |
rommem[11990] <= 12'h030; |
rommem[11991] <= 12'h027; |
rommem[11992] <= 12'h01C; |
rommem[11993] <= 12'h0C1; |
rommem[11994] <= 12'h031; |
rommem[11995] <= 12'h027; |
rommem[11996] <= 12'hF6C; |
rommem[11997] <= 12'h0C1; |
rommem[11998] <= 12'h032; |
rommem[11999] <= 12'h027; |
rommem[12000] <= 12'hF7B; |
rommem[12001] <= 12'h0C1; |
rommem[12002] <= 12'h033; |
rommem[12003] <= 12'h027; |
rommem[12004] <= 12'h010; |
rommem[12005] <= 12'h0C1; |
rommem[12006] <= 12'h035; |
rommem[12007] <= 12'h027; |
rommem[12008] <= 12'h00C; |
rommem[12009] <= 12'h0C1; |
rommem[12010] <= 12'h037; |
rommem[12011] <= 12'h027; |
rommem[12012] <= 12'h015; |
rommem[12013] <= 12'h0C1; |
rommem[12014] <= 12'h038; |
rommem[12015] <= 12'h027; |
rommem[12016] <= 12'hF8E; |
rommem[12017] <= 12'h0C1; |
rommem[12018] <= 12'h039; |
rommem[12019] <= 12'h027; |
rommem[12020] <= 12'hF7A; |
rommem[12021] <= 12'h0C6; |
rommem[12022] <= 12'h02E; |
rommem[12023] <= 12'h03F; |
rommem[12024] <= 12'h002; |
rommem[12025] <= 12'h08D; |
rommem[12026] <= 12'hE84; |
rommem[12027] <= 12'h07D; |
rommem[12028] <= 12'h000; |
rommem[12029] <= 12'h000; |
rommem[12030] <= 12'h000; |
rommem[12031] <= 12'h000; |
rommem[12032] <= 12'h000; |
rommem[12033] <= 12'h000; |
rommem[12034] <= 12'h000; |
rommem[12029] <= 12'h94A; |
rommem[12030] <= 12'h026; |
rommem[12031] <= 12'h002; |
rommem[12032] <= 12'h020; |
rommem[12033] <= 12'hFAA; |
rommem[12034] <= 12'h016; |
rommem[12035] <= 12'h000; |
rommem[12036] <= 12'h000; |
rommem[12037] <= 12'h000; |
rommem[12038] <= 12'h000; |
rommem[12039] <= 12'h000; |
rommem[12040] <= 12'h000; |
rommem[12041] <= 12'h000; |
rommem[12042] <= 12'h000; |
rommem[12043] <= 12'h000; |
rommem[12044] <= 12'h000; |
rommem[12045] <= 12'h000; |
rommem[12046] <= 12'h000; |
rommem[12047] <= 12'h000; |
rommem[12048] <= 12'h000; |
rommem[12049] <= 12'h000; |
rommem[12050] <= 12'h000; |
rommem[12051] <= 12'h000; |
rommem[12052] <= 12'h000; |
rommem[12053] <= 12'h000; |
rommem[12054] <= 12'h000; |
rommem[12055] <= 12'h000; |
rommem[12036] <= 12'h457; |
rommem[12037] <= 12'h053; |
rommem[12038] <= 12'h031; |
rommem[12039] <= 12'h039; |
rommem[12040] <= 12'h020; |
rommem[12041] <= 12'h04C; |
rommem[12042] <= 12'h06F; |
rommem[12043] <= 12'h061; |
rommem[12044] <= 12'h064; |
rommem[12045] <= 12'h065; |
rommem[12046] <= 12'h072; |
rommem[12047] <= 12'h020; |
rommem[12048] <= 12'h041; |
rommem[12049] <= 12'h063; |
rommem[12050] <= 12'h074; |
rommem[12051] <= 12'h069; |
rommem[12052] <= 12'h076; |
rommem[12053] <= 12'h065; |
rommem[12054] <= 12'h00D; |
rommem[12055] <= 12'h00A; |
rommem[12056] <= 12'h000; |
rommem[12057] <= 12'h000; |
rommem[12058] <= 12'h000; |
rommem[12059] <= 12'h000; |
rommem[12060] <= 12'h000; |
rommem[12061] <= 12'h000; |
rommem[12062] <= 12'h000; |
rommem[12063] <= 12'h000; |
rommem[12064] <= 12'h000; |
rommem[12065] <= 12'h000; |
rommem[12066] <= 12'hFFE; |
rommem[12067] <= 12'hF3F; |
rommem[12068] <= 12'h000; |
rommem[12069] <= 12'h000; |
rommem[12070] <= 12'hFFE; |
rommem[12071] <= 12'hF28; |
rommem[12072] <= 12'h015; |
rommem[12073] <= 12'h0F6; |
rommem[12074] <= 12'hFFF; |
rommem[12075] <= 12'hFFF; |
rommem[12076] <= 12'hFE0; |
rommem[12077] <= 12'h08E; |
rommem[12078] <= 12'hFFC; |
rommem[12079] <= 12'h000; |
rommem[12080] <= 12'h03A; |
rommem[12081] <= 12'h0A7; |
rommem[12082] <= 12'h804; |
rommem[12083] <= 12'h07D; |
rommem[12084] <= 12'hFFC; |
rommem[12085] <= 12'h010; |
rommem[12086] <= 12'h126; |
rommem[12057] <= 12'h053; |
rommem[12058] <= 12'h031; |
rommem[12059] <= 12'h039; |
rommem[12060] <= 12'h020; |
rommem[12061] <= 12'h043; |
rommem[12062] <= 12'h068; |
rommem[12063] <= 12'h065; |
rommem[12064] <= 12'h063; |
rommem[12065] <= 12'h06B; |
rommem[12066] <= 12'h073; |
rommem[12067] <= 12'h075; |
rommem[12068] <= 12'h06D; |
rommem[12069] <= 12'h020; |
rommem[12070] <= 12'h045; |
rommem[12071] <= 12'h072; |
rommem[12072] <= 12'h072; |
rommem[12073] <= 12'h00D; |
rommem[12074] <= 12'h00A; |
rommem[12075] <= 12'h000; |
rommem[12076] <= 12'h017; |
rommem[12077] <= 12'h000; |
rommem[12078] <= 12'h5A3; |
rommem[12079] <= 12'h0BE; |
rommem[12080] <= 12'h000; |
rommem[12081] <= 12'h922; |
rommem[12082] <= 12'h01F; |
rommem[12083] <= 12'h013; |
rommem[12084] <= 12'h0C6; |
rommem[12085] <= 12'h001; |
rommem[12086] <= 12'h0F7; |
rommem[12087] <= 12'h000; |
rommem[12088] <= 12'h7D1; |
rommem[12089] <= 12'h0F7; |
rommem[12090] <= 12'hFFC; |
rommem[12091] <= 12'h010; |
rommem[12092] <= 12'h016; |
rommem[12093] <= 12'h000; |
rommem[12094] <= 12'h7CB; |
rommem[12088] <= 12'h9FB; |
rommem[12089] <= 12'h0CC; |
rommem[12090] <= 12'hFFF; |
rommem[12091] <= 12'hFFF; |
rommem[12092] <= 12'h03F; |
rommem[12093] <= 12'h001; |
rommem[12094] <= 12'h0C1; |
rommem[12095] <= 12'h015; |
rommem[12096] <= 12'h0F6; |
rommem[12097] <= 12'hFFF; |
rommem[12098] <= 12'hFFF; |
rommem[12099] <= 12'hFE0; |
rommem[12100] <= 12'h08E; |
rommem[12101] <= 12'hFFC; |
rommem[12102] <= 12'h000; |
rommem[12103] <= 12'h03A; |
rommem[12104] <= 12'h06F; |
rommem[12105] <= 12'h804; |
rommem[12106] <= 12'h017; |
rommem[12107] <= 12'hFFF; |
rommem[12108] <= 12'h2BC; |
rommem[12109] <= 12'h0F1; |
rommem[12110] <= 12'hFFC; |
rommem[12111] <= 12'h010; |
rommem[12112] <= 12'h126; |
rommem[12113] <= 12'h000; |
rommem[12114] <= 12'h7B7; |
rommem[12115] <= 12'h086; |
rommem[12116] <= 12'h00F; |
rommem[12117] <= 12'h05C; |
rommem[12118] <= 12'h0C4; |
rommem[12119] <= 12'h00F; |
rommem[12120] <= 12'h03A; |
rommem[12121] <= 12'h06D; |
rommem[12122] <= 12'h804; |
rommem[12123] <= 12'h026; |
rommem[12124] <= 12'h009; |
rommem[12125] <= 12'h04A; |
rommem[12126] <= 12'h026; |
rommem[12127] <= 12'hFF5; |
rommem[12128] <= 12'h0C6; |
rommem[12129] <= 12'h001; |
rommem[12130] <= 12'h086; |
rommem[12131] <= 12'h018; |
rommem[12132] <= 12'h0A7; |
rommem[12133] <= 12'h804; |
rommem[12134] <= 12'h0F7; |
rommem[12135] <= 12'hFFC; |
rommem[12136] <= 12'h010; |
rommem[12137] <= 12'h017; |
rommem[12138] <= 12'hFFF; |
rommem[12139] <= 12'h266; |
rommem[12140] <= 12'h016; |
rommem[12141] <= 12'h000; |
rommem[12142] <= 12'h79B; |
rommem[12143] <= 12'h18E; |
rommem[12144] <= 12'h000; |
rommem[12145] <= 12'h000; |
rommem[12146] <= 12'h015; |
rommem[12147] <= 12'h1BF; |
rommem[12148] <= 12'hFFF; |
rommem[12149] <= 12'hE30; |
rommem[12150] <= 12'h604; |
rommem[12151] <= 12'h015; |
rommem[12152] <= 12'h07F; |
rommem[12153] <= 12'hFFF; |
rommem[12154] <= 12'hE30; |
rommem[12155] <= 12'h608; |
rommem[12156] <= 12'h015; |
rommem[12157] <= 12'h07F; |
rommem[12158] <= 12'hFFF; |
rommem[12159] <= 12'hE30; |
rommem[12160] <= 12'h609; |
rommem[12161] <= 12'h015; |
rommem[12162] <= 12'h0FD; |
rommem[12163] <= 12'hFFF; |
rommem[12164] <= 12'hE30; |
rommem[12165] <= 12'h60A; |
rommem[12166] <= 12'h015; |
rommem[12167] <= 12'h07F; |
rommem[12168] <= 12'hFFF; |
rommem[12169] <= 12'hE30; |
rommem[12170] <= 12'h60C; |
rommem[12171] <= 12'h015; |
rommem[12172] <= 12'h07F; |
rommem[12173] <= 12'hFFF; |
rommem[12174] <= 12'hE30; |
rommem[12175] <= 12'h60D; |
rommem[12176] <= 12'h015; |
rommem[12177] <= 12'h0BF; |
rommem[12178] <= 12'hFFF; |
rommem[12179] <= 12'hE30; |
rommem[12180] <= 12'h60E; |
rommem[12181] <= 12'h031; |
rommem[12182] <= 12'h201; |
rommem[12183] <= 12'h18C; |
rommem[12184] <= 12'h000; |
rommem[12185] <= 12'h400; |
rommem[12186] <= 12'h025; |
rommem[12187] <= 12'hFD6; |
rommem[12188] <= 12'h039; |
rommem[12189] <= 12'h015; |
rommem[12190] <= 12'h0FD; |
rommem[12191] <= 12'hFFF; |
rommem[12192] <= 12'hE30; |
rommem[12193] <= 12'h604; |
rommem[12194] <= 12'h015; |
rommem[12195] <= 12'h0BE; |
rommem[12196] <= 12'hFFF; |
rommem[12197] <= 12'hE30; |
rommem[12198] <= 12'h600; |
rommem[12199] <= 12'h015; |
rommem[12200] <= 12'h0FC; |
rommem[12201] <= 12'hFFF; |
rommem[12202] <= 12'hE30; |
rommem[12203] <= 12'h602; |
rommem[12204] <= 12'h015; |
rommem[12205] <= 12'h0F7; |
rommem[12206] <= 12'hFFF; |
rommem[12207] <= 12'hE30; |
rommem[12208] <= 12'h603; |
rommem[12209] <= 12'h039; |
rommem[12210] <= 12'h03C; |
rommem[12211] <= 12'h83E; |
rommem[12212] <= 12'h062; |
rommem[12213] <= 12'h873; |
rommem[12214] <= 12'h062; |
rommem[12215] <= 12'h863; |
rommem[12216] <= 12'h044; |
rommem[12217] <= 12'h852; |
rommem[12218] <= 12'h844; |
rommem[12219] <= 12'h83A; |
rommem[12220] <= 12'h046; |
rommem[12221] <= 12'h049; |
rommem[12222] <= 12'h847; |
rommem[12223] <= 12'h046; |
rommem[12224] <= 12'h049; |
rommem[12225] <= 12'h84C; |
rommem[12226] <= 12'h046; |
rommem[12227] <= 12'h84C; |
rommem[12228] <= 12'h84A; |
rommem[12229] <= 12'h052; |
rommem[12230] <= 12'h041; |
rommem[12231] <= 12'h04D; |
rommem[12232] <= 12'h054; |
rommem[12233] <= 12'h045; |
rommem[12234] <= 12'h053; |
rommem[12235] <= 12'h854; |
rommem[12236] <= 12'h053; |
rommem[12237] <= 12'h050; |
rommem[12238] <= 12'h844; |
rommem[12239] <= 12'h054; |
rommem[12240] <= 12'h049; |
rommem[12241] <= 12'h852; |
rommem[12242] <= 12'h855; |
rommem[12243] <= 12'h065; |
rommem[12244] <= 12'h078; |
rommem[12245] <= 12'h069; |
rommem[12246] <= 12'h874; |
rommem[12247] <= 12'h83F; |
rommem[12248] <= 12'h043; |
rommem[12249] <= 12'h04C; |
rommem[12250] <= 12'h853; |
rommem[12251] <= 12'h053; |
rommem[12252] <= 12'h031; |
rommem[12253] <= 12'h839; |
rommem[12254] <= 12'h04A; |
rommem[12255] <= 12'h044; |
rommem[12256] <= 12'h834; |
rommem[12257] <= 12'h000; |
rommem[12258] <= 12'h000; |
rommem[12259] <= 12'hFFF; |
rommem[12260] <= 12'h0F8; |
rommem[12261] <= 12'hFFF; |
rommem[12262] <= 12'h13A; |
rommem[12263] <= 12'hFFF; |
rommem[12264] <= 12'h145; |
rommem[12265] <= 12'hFFF; |
rommem[12266] <= 12'h54A; |
rommem[12267] <= 12'hFFF; |
rommem[12268] <= 12'h484; |
rommem[12269] <= 12'hFFF; |
rommem[12270] <= 12'h4E0; |
rommem[12271] <= 12'hFE0; |
rommem[12272] <= 12'h000; |
rommem[12273] <= 12'hFFF; |
rommem[12274] <= 12'h520; |
rommem[12275] <= 12'hFFF; |
rommem[12276] <= 12'h60B; |
rommem[12277] <= 12'hFFF; |
rommem[12278] <= 12'h595; |
rommem[12279] <= 12'hFFD; |
rommem[12280] <= 12'h400; |
rommem[12281] <= 12'hFF8; |
rommem[12282] <= 12'h000; |
rommem[12283] <= 12'hFFE; |
rommem[12284] <= 12'h4F4; |
rommem[12285] <= 12'hFF8; |
rommem[12286] <= 12'h003; |
rommem[12287] <= 12'hFFF; |
rommem[12288] <= 12'h6F3; |
rommem[12289] <= 12'hFFF; |
rommem[12290] <= 12'h11E; |
rommem[12291] <= 12'hFFF; |
rommem[12292] <= 12'h126; |
rommem[12293] <= 12'hFFE; |
rommem[12294] <= 12'hE37; |
rommem[12295] <= 12'hFFD; |
rommem[12296] <= 12'h400; |
rommem[12297] <= 12'h017; |
rommem[12298] <= 12'hFFE; |
rommem[12299] <= 12'h0C6; |
rommem[12300] <= 12'h0C6; |
rommem[12301] <= 12'h024; |
rommem[12302] <= 12'h017; |
rommem[12303] <= 12'hFFF; |
rommem[12304] <= 12'hED0; |
rommem[12305] <= 12'h016; |
rommem[12306] <= 12'hFFF; |
rommem[12307] <= 12'hECD; |
rommem[12308] <= 12'h046; |
rommem[12309] <= 12'h065; |
rommem[12310] <= 12'h06D; |
rommem[12311] <= 12'h074; |
rommem[12312] <= 12'h069; |
rommem[12313] <= 12'h06B; |
rommem[12314] <= 12'h069; |
rommem[12315] <= 12'h020; |
rommem[12316] <= 12'h046; |
rommem[12317] <= 12'h030; |
rommem[12318] <= 12'h039; |
rommem[12319] <= 12'h020; |
rommem[12320] <= 12'h04D; |
rommem[12321] <= 12'h075; |
rommem[12322] <= 12'h06C; |
rommem[12323] <= 12'h074; |
rommem[12324] <= 12'h069; |
rommem[12325] <= 12'h02D; |
rommem[12326] <= 12'h063; |
rommem[12327] <= 12'h06F; |
rommem[12328] <= 12'h072; |
rommem[12329] <= 12'h065; |
rommem[12330] <= 12'h020; |
rommem[12331] <= 12'h04F; |
rommem[12332] <= 12'h053; |
rommem[12333] <= 12'h020; |
rommem[12334] <= 12'h053; |
rommem[12335] <= 12'h074; |
rommem[12336] <= 12'h061; |
rommem[12337] <= 12'h072; |
rommem[12338] <= 12'h074; |
rommem[12339] <= 12'h069; |
rommem[12340] <= 12'h06E; |
rommem[12341] <= 12'h067; |
rommem[12342] <= 12'h00D; |
rommem[12343] <= 12'h00A; |
rommem[12344] <= 12'h000; |
rommem[12345] <= 12'h0FC; |
rommem[12346] <= 12'h000; |
rommem[12347] <= 12'h92C; |
rommem[12348] <= 12'h183; |
rommem[12349] <= 12'h12D; |
rommem[12350] <= 12'h687; |
rommem[12351] <= 12'h027; |
rommem[12352] <= 12'h04D; |
rommem[12353] <= 12'h07F; |
rommem[12354] <= 12'h000; |
rommem[12355] <= 12'h810; |
rommem[12356] <= 12'h07F; |
rommem[12357] <= 12'h000; |
rommem[12358] <= 12'h811; |
rommem[12359] <= 12'h0CC; |
rommem[12360] <= 12'h000; |
rommem[12361] <= 12'h07B; |
rommem[12362] <= 12'h08E; |
rommem[12096] <= 12'h027; |
rommem[12097] <= 12'h004; |
rommem[12098] <= 12'h0C1; |
rommem[12099] <= 12'h043; |
rommem[12100] <= 12'h026; |
rommem[12101] <= 12'hFF3; |
rommem[12102] <= 12'h0F7; |
rommem[12103] <= 12'h000; |
rommem[12104] <= 12'h9F5; |
rommem[12105] <= 12'h0C6; |
rommem[12106] <= 12'h001; |
rommem[12107] <= 12'h03F; |
rommem[12108] <= 12'h1C9; |
rommem[12109] <= 12'h0F6; |
rommem[12110] <= 12'h000; |
rommem[12111] <= 12'h9FB; |
rommem[12112] <= 12'h03F; |
rommem[12113] <= 12'h002; |
rommem[12114] <= 12'h053; |
rommem[12115] <= 12'h03F; |
rommem[12116] <= 12'h002; |
rommem[12117] <= 12'h04F; |
rommem[12118] <= 12'h01F; |
rommem[12119] <= 12'h013; |
rommem[12120] <= 12'h0E6; |
rommem[12121] <= 12'hC00; |
rommem[12122] <= 12'h03F; |
rommem[12123] <= 12'h002; |
rommem[12124] <= 12'h04C; |
rommem[12125] <= 12'h081; |
rommem[12126] <= 12'h080; |
rommem[12127] <= 12'h025; |
rommem[12128] <= 12'hFF7; |
rommem[12129] <= 12'h0F6; |
rommem[12130] <= 12'h000; |
rommem[12131] <= 12'h9F5; |
rommem[12132] <= 12'h0C1; |
rommem[12133] <= 12'h043; |
rommem[12134] <= 12'h026; |
rommem[12135] <= 12'h01E; |
rommem[12136] <= 12'h08D; |
rommem[12137] <= 12'h17F; |
rommem[12138] <= 12'h0FC; |
rommem[12139] <= 12'h000; |
rommem[12140] <= 12'h9FE; |
rommem[12141] <= 12'h044; |
rommem[12142] <= 12'h056; |
rommem[12143] <= 12'h044; |
rommem[12144] <= 12'h056; |
rommem[12145] <= 12'h044; |
rommem[12146] <= 12'h056; |
rommem[12147] <= 12'h044; |
rommem[12148] <= 12'h056; |
rommem[12149] <= 12'h044; |
rommem[12150] <= 12'h056; |
rommem[12151] <= 12'h044; |
rommem[12152] <= 12'h056; |
rommem[12153] <= 12'h044; |
rommem[12154] <= 12'h056; |
rommem[12155] <= 12'h044; |
rommem[12156] <= 12'h056; |
rommem[12157] <= 12'h03F; |
rommem[12158] <= 12'h002; |
rommem[12159] <= 12'h0FC; |
rommem[12160] <= 12'h000; |
rommem[12161] <= 12'h9FE; |
rommem[12162] <= 12'h03F; |
rommem[12163] <= 12'h002; |
rommem[12164] <= 12'h020; |
rommem[12165] <= 12'h007; |
rommem[12166] <= 12'h08D; |
rommem[12167] <= 12'h14F; |
rommem[12168] <= 12'h0F6; |
rommem[12169] <= 12'h000; |
rommem[12170] <= 12'h9F7; |
rommem[12171] <= 12'h03F; |
rommem[12172] <= 12'h002; |
rommem[12173] <= 12'h03F; |
rommem[12174] <= 12'h0CC; |
rommem[12175] <= 12'hFFF; |
rommem[12176] <= 12'hFFF; |
rommem[12177] <= 12'h001; |
rommem[12178] <= 12'h0C1; |
rommem[12179] <= 12'h006; |
rommem[12180] <= 12'h026; |
rommem[12181] <= 12'hFB3; |
rommem[12182] <= 12'h07C; |
rommem[12183] <= 12'h000; |
rommem[12184] <= 12'h9FA; |
rommem[12185] <= 12'h030; |
rommem[12186] <= 12'h080; |
rommem[12187] <= 12'h0BC; |
rommem[12188] <= 12'h000; |
rommem[12189] <= 12'h926; |
rommem[12190] <= 12'h025; |
rommem[12191] <= 12'hFA9; |
rommem[12192] <= 12'h0C6; |
rommem[12193] <= 12'h004; |
rommem[12194] <= 12'h03F; |
rommem[12195] <= 12'h002; |
rommem[12196] <= 12'h03F; |
rommem[12197] <= 12'h002; |
rommem[12198] <= 12'h03F; |
rommem[12199] <= 12'h002; |
rommem[12200] <= 12'h039; |
rommem[12201] <= 12'h07D; |
rommem[12202] <= 12'hFFC; |
rommem[12203] <= 12'h020; |
rommem[12204] <= 12'h02B; |
rommem[12205] <= 12'h009; |
rommem[12206] <= 12'h04F; |
rommem[12207] <= 12'h05F; |
rommem[12208] <= 12'h03F; |
rommem[12209] <= 12'h001; |
rommem[12210] <= 12'h02B; |
rommem[12211] <= 12'hFF5; |
rommem[12212] <= 12'h08D; |
rommem[12213] <= 12'h1BA; |
rommem[12214] <= 12'h039; |
rommem[12215] <= 12'h0C6; |
rommem[12216] <= 12'hFFF; |
rommem[12217] <= 12'h039; |
rommem[12218] <= 12'h017; |
rommem[12219] <= 12'hFFF; |
rommem[12220] <= 12'h1FB; |
rommem[12221] <= 12'h017; |
rommem[12222] <= 12'hFFF; |
rommem[12223] <= 12'h1F8; |
rommem[12224] <= 12'h017; |
rommem[12225] <= 12'hFFF; |
rommem[12226] <= 12'h1F5; |
rommem[12227] <= 12'h017; |
rommem[12228] <= 12'h000; |
rommem[12229] <= 12'h5CB; |
rommem[12230] <= 12'h05D; |
rommem[12231] <= 12'h127; |
rommem[12232] <= 12'h000; |
rommem[12233] <= 12'h392; |
rommem[12234] <= 12'h0BE; |
rommem[12235] <= 12'h000; |
rommem[12236] <= 12'h912; |
rommem[12237] <= 12'h07F; |
rommem[12238] <= 12'h000; |
rommem[12239] <= 12'h9FA; |
rommem[12240] <= 12'h086; |
rommem[12241] <= 12'h043; |
rommem[12242] <= 12'h0B7; |
rommem[12243] <= 12'h000; |
rommem[12244] <= 12'h9F5; |
rommem[12245] <= 12'h086; |
rommem[12246] <= 12'h002; |
rommem[12247] <= 12'h0F6; |
rommem[12248] <= 12'h000; |
rommem[12249] <= 12'h9F5; |
rommem[12250] <= 12'h03F; |
rommem[12251] <= 12'h00D; |
rommem[12252] <= 12'h07F; |
rommem[12253] <= 12'hFFC; |
rommem[12254] <= 12'h020; |
rommem[12255] <= 12'h08D; |
rommem[12256] <= 12'hFC8; |
rommem[12257] <= 12'h05D; |
rommem[12258] <= 12'h02B; |
rommem[12259] <= 12'h0A1; |
rommem[12260] <= 12'h0C1; |
rommem[12261] <= 12'h001; |
rommem[12262] <= 12'h027; |
rommem[12263] <= 12'h012; |
rommem[12264] <= 12'h0C1; |
rommem[12265] <= 12'h004; |
rommem[12266] <= 12'h027; |
rommem[12267] <= 12'h092; |
rommem[12268] <= 12'h0C1; |
rommem[12269] <= 12'h018; |
rommem[12270] <= 12'h027; |
rommem[12271] <= 12'hFE5; |
rommem[12272] <= 12'h0C1; |
rommem[12273] <= 12'h017; |
rommem[12274] <= 12'h027; |
rommem[12275] <= 12'h08A; |
rommem[12276] <= 12'h0C6; |
rommem[12277] <= 12'h015; |
rommem[12278] <= 12'h03F; |
rommem[12279] <= 12'h00D; |
rommem[12280] <= 12'h020; |
rommem[12281] <= 12'hFE2; |
rommem[12282] <= 12'h08D; |
rommem[12283] <= 12'hFAD; |
rommem[12284] <= 12'h02B; |
rommem[12285] <= 12'h078; |
rommem[12286] <= 12'h0F7; |
rommem[12287] <= 12'h000; |
rommem[12288] <= 12'h9FB; |
rommem[12289] <= 12'h034; |
rommem[12290] <= 12'h004; |
rommem[12291] <= 12'h08D; |
rommem[12292] <= 12'hFA4; |
rommem[12293] <= 12'h02B; |
rommem[12294] <= 12'h06D; |
rommem[12295] <= 12'h0EB; |
rommem[12296] <= 12'hE04; |
rommem[12297] <= 12'h0C4; |
rommem[12298] <= 12'h0FF; |
rommem[12299] <= 12'h0C0; |
rommem[12300] <= 12'h0FF; |
rommem[12301] <= 12'h0F7; |
rommem[12302] <= 12'h000; |
rommem[12303] <= 12'h9F6; |
rommem[12304] <= 12'h18E; |
rommem[12305] <= 12'h000; |
rommem[12306] <= 12'h000; |
rommem[12307] <= 12'h01F; |
rommem[12308] <= 12'h013; |
rommem[12309] <= 12'h08D; |
rommem[12310] <= 12'hF92; |
rommem[12311] <= 12'h02B; |
rommem[12312] <= 12'h05D; |
rommem[12313] <= 12'h0E7; |
rommem[12314] <= 12'hC00; |
rommem[12315] <= 12'h031; |
rommem[12316] <= 12'h201; |
rommem[12317] <= 12'h18C; |
rommem[12318] <= 12'h000; |
rommem[12319] <= 12'h080; |
rommem[12320] <= 12'h025; |
rommem[12321] <= 12'hFF3; |
rommem[12322] <= 12'h08D; |
rommem[12323] <= 12'hF85; |
rommem[12324] <= 12'h02B; |
rommem[12325] <= 12'h050; |
rommem[12326] <= 12'h0F7; |
rommem[12327] <= 12'h000; |
rommem[12328] <= 12'h9FC; |
rommem[12329] <= 12'h0F6; |
rommem[12330] <= 12'h000; |
rommem[12331] <= 12'h9F5; |
rommem[12332] <= 12'h0C1; |
rommem[12333] <= 12'h043; |
rommem[12334] <= 12'h026; |
rommem[12335] <= 12'h022; |
rommem[12336] <= 12'h08D; |
rommem[12337] <= 12'hF77; |
rommem[12338] <= 12'h02B; |
rommem[12339] <= 12'h042; |
rommem[12340] <= 12'h0B6; |
rommem[12341] <= 12'h000; |
rommem[12342] <= 12'h9FC; |
rommem[12343] <= 12'h058; |
rommem[12344] <= 12'h058; |
rommem[12345] <= 12'h058; |
rommem[12346] <= 12'h058; |
rommem[12347] <= 12'h044; |
rommem[12348] <= 12'h056; |
rommem[12349] <= 12'h044; |
rommem[12350] <= 12'h056; |
rommem[12351] <= 12'h044; |
rommem[12352] <= 12'h056; |
rommem[12353] <= 12'h044; |
rommem[12354] <= 12'h056; |
rommem[12355] <= 12'h084; |
rommem[12356] <= 12'h00F; |
rommem[12357] <= 12'h0FD; |
rommem[12358] <= 12'h000; |
rommem[12359] <= 12'h9F8; |
rommem[12360] <= 12'h08D; |
rommem[12361] <= 12'h09F; |
rommem[12362] <= 12'h0FC; |
rommem[12363] <= 12'h000; |
rommem[12364] <= 12'h28E; |
rommem[12365] <= 12'h017; |
rommem[12366] <= 12'hFFF; |
rommem[12367] <= 12'hF1F; |
rommem[12368] <= 12'h0CC; |
rommem[12369] <= 12'hFFF; |
rommem[12370] <= 12'h014; |
rommem[12371] <= 12'h017; |
rommem[12372] <= 12'hFFF; |
rommem[12373] <= 12'h384; |
rommem[12374] <= 12'h0CC; |
rommem[12375] <= 12'hFFF; |
rommem[12376] <= 12'h2CF; |
rommem[12377] <= 12'h017; |
rommem[12378] <= 12'hFFF; |
rommem[12379] <= 12'h37E; |
rommem[12380] <= 12'h0CC; |
rommem[12381] <= 12'hFFF; |
rommem[12382] <= 12'h009; |
rommem[12383] <= 12'h0FD; |
rommem[12384] <= 12'h000; |
rommem[12385] <= 12'h808; |
rommem[12386] <= 12'h0CC; |
rommem[12387] <= 12'hFFF; |
rommem[12388] <= 12'h2B6; |
rommem[12389] <= 12'h0FD; |
rommem[12364] <= 12'h9FE; |
rommem[12365] <= 12'h1B3; |
rommem[12366] <= 12'h000; |
rommem[12367] <= 12'h9F8; |
rommem[12368] <= 12'h020; |
rommem[12369] <= 12'h008; |
rommem[12370] <= 12'h08D; |
rommem[12371] <= 12'h083; |
rommem[12372] <= 12'h0F6; |
rommem[12373] <= 12'h000; |
rommem[12374] <= 12'h9F7; |
rommem[12375] <= 12'h0F1; |
rommem[12376] <= 12'h000; |
rommem[12377] <= 12'h9FC; |
rommem[12378] <= 12'h026; |
rommem[12379] <= 12'hF98; |
rommem[12380] <= 12'h07D; |
rommem[12381] <= 12'h000; |
rommem[12382] <= 12'h9F6; |
rommem[12383] <= 12'h026; |
rommem[12384] <= 12'hF93; |
rommem[12385] <= 12'h0C6; |
rommem[12386] <= 12'h006; |
rommem[12387] <= 12'h03F; |
rommem[12388] <= 12'h00D; |
rommem[12389] <= 12'h0F6; |
rommem[12390] <= 12'h000; |
rommem[12391] <= 12'h80C; |
rommem[12392] <= 12'h0CC; |
rommem[12393] <= 12'h006; |
rommem[12394] <= 12'h3FF; |
rommem[12395] <= 12'h0FD; |
rommem[12396] <= 12'h000; |
rommem[12397] <= 12'h908; |
rommem[12398] <= 12'h07F; |
rommem[12399] <= 12'h000; |
rommem[12400] <= 12'h90E; |
rommem[12401] <= 12'h01F; |
rommem[12402] <= 12'h0A8; |
rommem[12403] <= 12'h0B7; |
rommem[12404] <= 12'h000; |
rommem[12405] <= 12'h90F; |
rommem[12406] <= 12'h07F; |
rommem[12407] <= 12'h000; |
rommem[12408] <= 12'h90A; |
rommem[12409] <= 12'h0CC; |
rommem[12410] <= 12'hFFF; |
rommem[12411] <= 12'h039; |
rommem[12412] <= 12'h0FD; |
rommem[12413] <= 12'h000; |
rommem[12414] <= 12'h90B; |
rommem[12415] <= 12'h07F; |
rommem[12416] <= 12'h000; |
rommem[12417] <= 12'h902; |
rommem[12418] <= 12'h07F; |
rommem[12391] <= 12'h9FB; |
rommem[12392] <= 12'h0F1; |
rommem[12393] <= 12'h000; |
rommem[12394] <= 12'h9FA; |
rommem[12395] <= 12'h027; |
rommem[12396] <= 12'hF6F; |
rommem[12397] <= 12'h0F7; |
rommem[12398] <= 12'h000; |
rommem[12399] <= 12'h9FA; |
rommem[12400] <= 12'h030; |
rommem[12401] <= 12'h080; |
rommem[12402] <= 12'h020; |
rommem[12403] <= 12'hF68; |
rommem[12404] <= 12'h032; |
rommem[12405] <= 12'h601; |
rommem[12406] <= 12'h0CC; |
rommem[12407] <= 12'hFFF; |
rommem[12408] <= 12'h09E; |
rommem[12409] <= 12'h03F; |
rommem[12410] <= 12'h004; |
rommem[12411] <= 12'h016; |
rommem[12412] <= 12'h000; |
rommem[12413] <= 12'h2DE; |
rommem[12414] <= 12'h0C6; |
rommem[12415] <= 12'h006; |
rommem[12416] <= 12'h03F; |
rommem[12417] <= 12'h00D; |
rommem[12418] <= 12'h016; |
rommem[12419] <= 12'h000; |
rommem[12420] <= 12'h904; |
rommem[12421] <= 12'h07F; |
rommem[12422] <= 12'h000; |
rommem[12423] <= 12'h906; |
rommem[12424] <= 12'h0CC; |
rommem[12425] <= 12'h12D; |
rommem[12426] <= 12'h687; |
rommem[12427] <= 12'h0FD; |
rommem[12428] <= 12'h000; |
rommem[12429] <= 12'h92C; |
rommem[12430] <= 12'h032; |
rommem[12431] <= 12'h80F; |
rommem[12432] <= 12'h006; |
rommem[12433] <= 12'hFFF; |
rommem[12434] <= 12'h05F; |
rommem[12435] <= 12'h017; |
rommem[12436] <= 12'hFFF; |
rommem[12437] <= 12'hE4F; |
rommem[12420] <= 12'h2D7; |
rommem[12421] <= 12'h04A; |
rommem[12422] <= 12'h02A; |
rommem[12423] <= 12'hF4F; |
rommem[12424] <= 12'h0B6; |
rommem[12425] <= 12'h000; |
rommem[12426] <= 12'h9F5; |
rommem[12427] <= 12'h081; |
rommem[12428] <= 12'h015; |
rommem[12429] <= 12'h027; |
rommem[12430] <= 12'h007; |
rommem[12431] <= 12'h086; |
rommem[12432] <= 12'h015; |
rommem[12433] <= 12'h0B7; |
rommem[12434] <= 12'h000; |
rommem[12435] <= 12'h9F5; |
rommem[12436] <= 12'h020; |
rommem[12437] <= 12'hF3F; |
rommem[12438] <= 12'h0CC; |
rommem[12439] <= 12'hFFE; |
rommem[12440] <= 12'hC64; |
rommem[12441] <= 12'h0FD; |
rommem[12442] <= 12'h000; |
rommem[12443] <= 12'h804; |
rommem[12444] <= 12'h0CC; |
rommem[12445] <= 12'hFFE; |
rommem[12446] <= 12'h319; |
rommem[12447] <= 12'h0FD; |
rommem[12448] <= 12'h000; |
rommem[12449] <= 12'h800; |
rommem[12450] <= 12'h0CC; |
rommem[12451] <= 12'hFFF; |
rommem[12452] <= 12'h009; |
rommem[12453] <= 12'h0FD; |
rommem[12454] <= 12'h000; |
rommem[12455] <= 12'h808; |
rommem[12456] <= 12'h0AD; |
rommem[12457] <= 12'h90F; |
rommem[12458] <= 12'h000; |
rommem[12459] <= 12'h808; |
rommem[12460] <= 12'h0CC; |
rommem[12461] <= 12'hFFF; |
rommem[12462] <= 12'hFFF; |
rommem[12463] <= 12'h017; |
rommem[12464] <= 12'hFFF; |
rommem[12465] <= 12'hDF7; |
rommem[12466] <= 12'h0C1; |
rommem[12467] <= 12'h00D; |
rommem[12468] <= 12'h027; |
rommem[12469] <= 12'h005; |
rommem[12470] <= 12'h017; |
rommem[12471] <= 12'hFFF; |
rommem[12472] <= 12'hE28; |
rommem[12439] <= 12'hFFF; |
rommem[12440] <= 12'h0B2; |
rommem[12441] <= 12'h03F; |
rommem[12442] <= 12'h004; |
rommem[12443] <= 12'h016; |
rommem[12444] <= 12'h000; |
rommem[12445] <= 12'h2BE; |
rommem[12446] <= 12'h058; |
rommem[12447] <= 12'h06D; |
rommem[12448] <= 12'h06F; |
rommem[12449] <= 12'h064; |
rommem[12450] <= 12'h065; |
rommem[12451] <= 12'h06D; |
rommem[12452] <= 12'h03A; |
rommem[12453] <= 12'h020; |
rommem[12454] <= 12'h074; |
rommem[12455] <= 12'h069; |
rommem[12456] <= 12'h06D; |
rommem[12457] <= 12'h065; |
rommem[12458] <= 12'h064; |
rommem[12459] <= 12'h020; |
rommem[12460] <= 12'h06F; |
rommem[12461] <= 12'h075; |
rommem[12462] <= 12'h074; |
rommem[12463] <= 12'h00D; |
rommem[12464] <= 12'h00A; |
rommem[12465] <= 12'h000; |
rommem[12466] <= 12'h058; |
rommem[12467] <= 12'h04D; |
rommem[12468] <= 12'h06F; |
rommem[12469] <= 12'h064; |
rommem[12470] <= 12'h065; |
rommem[12471] <= 12'h06D; |
rommem[12472] <= 12'h03A; |
rommem[12473] <= 12'h020; |
rommem[12474] <= 12'hFF1; |
rommem[12475] <= 12'h0CC; |
rommem[12476] <= 12'h005; |
rommem[12477] <= 12'h050; |
rommem[12478] <= 12'h015; |
rommem[12479] <= 12'h0FD; |
rommem[12480] <= 12'hFFF; |
rommem[12481] <= 12'hE60; |
rommem[12482] <= 12'h001; |
rommem[12483] <= 12'h00F; |
rommem[12484] <= 12'h111; |
rommem[12485] <= 12'h017; |
rommem[12486] <= 12'hFFF; |
rommem[12487] <= 12'h22A; |
rommem[12488] <= 12'h01F; |
rommem[12489] <= 12'h002; |
rommem[12490] <= 12'h08D; |
rommem[12491] <= 12'h067; |
rommem[12492] <= 12'h0C1; |
rommem[12493] <= 12'h024; |
rommem[12494] <= 12'h027; |
rommem[12495] <= 12'hFFA; |
rommem[12496] <= 12'h031; |
rommem[12497] <= 12'h3FF; |
rommem[12498] <= 12'h01F; |
rommem[12499] <= 12'h023; |
rommem[12500] <= 12'h05F; |
rommem[12501] <= 12'h08E; |
rommem[12502] <= 12'hFFE; |
rommem[12503] <= 12'hFB2; |
rommem[12504] <= 12'h0A6; |
rommem[12505] <= 12'hA00; |
rommem[12506] <= 12'h06D; |
rommem[12507] <= 12'h804; |
rommem[12508] <= 12'h02B; |
rommem[12509] <= 12'h00F; |
rommem[12510] <= 12'h0A1; |
rommem[12511] <= 12'h800; |
rommem[12512] <= 12'h027; |
rommem[12513] <= 12'hFF6; |
rommem[12514] <= 12'h06D; |
rommem[12515] <= 12'h800; |
rommem[12516] <= 12'h027; |
rommem[12517] <= 12'hF53; |
rommem[12518] <= 12'h02A; |
rommem[12519] <= 12'hFFA; |
rommem[12520] <= 12'h05C; |
rommem[12521] <= 12'h01F; |
rommem[12522] <= 12'h032; |
rommem[12523] <= 12'h020; |
rommem[12524] <= 12'hFEB; |
rommem[12525] <= 12'h0A8; |
rommem[12526] <= 12'h804; |
rommem[12527] <= 12'h048; |
rommem[12528] <= 12'h026; |
rommem[12529] <= 12'hFF0; |
rommem[12530] <= 12'h058; |
rommem[12531] <= 12'h08E; |
rommem[12532] <= 12'hFFE; |
rommem[12533] <= 12'hFE3; |
rommem[12534] <= 12'h06E; |
rommem[12535] <= 12'h905; |
rommem[12536] <= 12'h08D; |
rommem[12537] <= 12'h034; |
rommem[12538] <= 12'h0C1; |
rommem[12539] <= 12'h073; |
rommem[12540] <= 12'h026; |
rommem[12541] <= 12'h00E; |
rommem[12542] <= 12'h0CC; |
rommem[12543] <= 12'hFFE; |
rommem[12544] <= 12'hC64; |
rommem[12545] <= 12'h0FD; |
rommem[12546] <= 12'h000; |
rommem[12547] <= 12'h804; |
rommem[12548] <= 12'h0CC; |
rommem[12549] <= 12'hFFE; |
rommem[12550] <= 12'hC88; |
rommem[12551] <= 12'h0FD; |
rommem[12552] <= 12'h000; |
rommem[12553] <= 12'h800; |
rommem[12554] <= 12'h020; |
rommem[12555] <= 12'hF2D; |
rommem[12556] <= 12'h0C1; |
rommem[12557] <= 12'h063; |
rommem[12558] <= 12'h026; |
rommem[12559] <= 12'hF29; |
rommem[12560] <= 12'h0CC; |
rommem[12561] <= 12'hFFE; |
rommem[12562] <= 12'hA92; |
rommem[12563] <= 12'h0FD; |
rommem[12564] <= 12'h000; |
rommem[12565] <= 12'h804; |
rommem[12566] <= 12'h0CC; |
rommem[12567] <= 12'hFFE; |
rommem[12568] <= 12'h319; |
rommem[12569] <= 12'h0FD; |
rommem[12570] <= 12'h000; |
rommem[12571] <= 12'h800; |
rommem[12572] <= 12'h020; |
rommem[12573] <= 12'hF1B; |
rommem[12574] <= 12'h0CC; |
rommem[12575] <= 12'hFFF; |
rommem[12576] <= 12'h2CF; |
rommem[12577] <= 12'h017; |
rommem[12578] <= 12'hFFF; |
rommem[12579] <= 12'h2B6; |
rommem[12580] <= 12'h020; |
rommem[12581] <= 12'hF13; |
rommem[12582] <= 12'h017; |
rommem[12583] <= 12'hFFF; |
rommem[12584] <= 12'h110; |
rommem[12585] <= 12'h017; |
rommem[12586] <= 12'hFFF; |
rommem[12587] <= 12'h184; |
rommem[12588] <= 12'h020; |
rommem[12589] <= 12'hF0B; |
rommem[12590] <= 12'h0E6; |
rommem[12591] <= 12'hA04; |
rommem[12592] <= 12'h031; |
rommem[12593] <= 12'h201; |
rommem[12594] <= 12'h039; |
rommem[12595] <= 12'h08D; |
rommem[12596] <= 12'hFF9; |
rommem[12597] <= 12'h0C1; |
rommem[12598] <= 12'h020; |
rommem[12599] <= 12'h027; |
rommem[12600] <= 12'hFFA; |
rommem[12601] <= 12'h039; |
rommem[12602] <= 12'h017; |
rommem[12603] <= 12'h000; |
rommem[12604] <= 12'h611; |
rommem[12605] <= 12'h0C6; |
rommem[12606] <= 12'hFFF; |
rommem[12607] <= 12'h0F7; |
rommem[12608] <= 12'h000; |
rommem[12609] <= 12'h810; |
rommem[12610] <= 12'h016; |
rommem[12611] <= 12'hFFF; |
rommem[12612] <= 12'hEF4; |
rommem[12613] <= 12'h017; |
rommem[12614] <= 12'h000; |
rommem[12615] <= 12'h632; |
rommem[12616] <= 12'h016; |
rommem[12617] <= 12'hFFF; |
rommem[12618] <= 12'hEEE; |
rommem[12619] <= 12'h08D; |
rommem[12620] <= 12'hFE1; |
rommem[12621] <= 12'h0C1; |
rommem[12474] <= 12'h074; |
rommem[12475] <= 12'h072; |
rommem[12476] <= 12'h061; |
rommem[12477] <= 12'h06E; |
rommem[12478] <= 12'h073; |
rommem[12479] <= 12'h06D; |
rommem[12480] <= 12'h069; |
rommem[12481] <= 12'h074; |
rommem[12482] <= 12'h074; |
rommem[12483] <= 12'h065; |
rommem[12484] <= 12'h072; |
rommem[12485] <= 12'h020; |
rommem[12486] <= 12'h06E; |
rommem[12487] <= 12'h06F; |
rommem[12488] <= 12'h074; |
rommem[12489] <= 12'h020; |
rommem[12490] <= 12'h072; |
rommem[12491] <= 12'h065; |
rommem[12492] <= 12'h073; |
rommem[12493] <= 12'h070; |
rommem[12494] <= 12'h06F; |
rommem[12495] <= 12'h06E; |
rommem[12496] <= 12'h064; |
rommem[12497] <= 12'h069; |
rommem[12498] <= 12'h06E; |
rommem[12499] <= 12'h067; |
rommem[12500] <= 12'h00D; |
rommem[12501] <= 12'h00A; |
rommem[12502] <= 12'h000; |
rommem[12503] <= 12'h034; |
rommem[12504] <= 12'h016; |
rommem[12505] <= 12'h04F; |
rommem[12506] <= 12'h05F; |
rommem[12507] <= 12'h0EB; |
rommem[12508] <= 12'h800; |
rommem[12509] <= 12'h04C; |
rommem[12510] <= 12'h081; |
rommem[12511] <= 12'h080; |
rommem[12512] <= 12'h025; |
rommem[12513] <= 12'hFF9; |
rommem[12514] <= 12'h0C4; |
rommem[12515] <= 12'h0FF; |
rommem[12516] <= 12'h0F7; |
rommem[12517] <= 12'h000; |
rommem[12518] <= 12'h9F7; |
rommem[12519] <= 12'h035; |
rommem[12520] <= 12'h096; |
rommem[12521] <= 12'h034; |
rommem[12522] <= 12'h076; |
rommem[12523] <= 12'h07F; |
rommem[12524] <= 12'h000; |
rommem[12525] <= 12'h9FE; |
rommem[12526] <= 12'h07F; |
rommem[12527] <= 12'h000; |
rommem[12528] <= 12'h9FF; |
rommem[12529] <= 12'h0CE; |
rommem[12530] <= 12'h000; |
rommem[12531] <= 12'h000; |
rommem[12532] <= 12'h0E6; |
rommem[12533] <= 12'h800; |
rommem[12534] <= 12'h07F; |
rommem[12535] <= 12'h000; |
rommem[12536] <= 12'h9FC; |
rommem[12537] <= 12'h0F7; |
rommem[12538] <= 12'h000; |
rommem[12539] <= 12'h9FD; |
rommem[12540] <= 12'h078; |
rommem[12541] <= 12'h000; |
rommem[12542] <= 12'h9FD; |
rommem[12543] <= 12'h079; |
rommem[12544] <= 12'h000; |
rommem[12545] <= 12'h9FC; |
rommem[12546] <= 12'h078; |
rommem[12547] <= 12'h000; |
rommem[12548] <= 12'h9FD; |
rommem[12549] <= 12'h079; |
rommem[12550] <= 12'h000; |
rommem[12551] <= 12'h9FC; |
rommem[12552] <= 12'h078; |
rommem[12553] <= 12'h000; |
rommem[12554] <= 12'h9FD; |
rommem[12555] <= 12'h079; |
rommem[12556] <= 12'h000; |
rommem[12557] <= 12'h9FC; |
rommem[12558] <= 12'h078; |
rommem[12559] <= 12'h000; |
rommem[12560] <= 12'h9FD; |
rommem[12561] <= 12'h079; |
rommem[12562] <= 12'h000; |
rommem[12563] <= 12'h9FC; |
rommem[12564] <= 12'h078; |
rommem[12565] <= 12'h000; |
rommem[12566] <= 12'h9FD; |
rommem[12567] <= 12'h079; |
rommem[12568] <= 12'h000; |
rommem[12569] <= 12'h9FC; |
rommem[12570] <= 12'h078; |
rommem[12571] <= 12'h000; |
rommem[12572] <= 12'h9FD; |
rommem[12573] <= 12'h079; |
rommem[12574] <= 12'h000; |
rommem[12575] <= 12'h9FC; |
rommem[12576] <= 12'h078; |
rommem[12577] <= 12'h000; |
rommem[12578] <= 12'h9FD; |
rommem[12579] <= 12'h079; |
rommem[12580] <= 12'h000; |
rommem[12581] <= 12'h9FC; |
rommem[12582] <= 12'h078; |
rommem[12583] <= 12'h000; |
rommem[12584] <= 12'h9FD; |
rommem[12585] <= 12'h079; |
rommem[12586] <= 12'h000; |
rommem[12587] <= 12'h9FC; |
rommem[12588] <= 12'h0FC; |
rommem[12589] <= 12'h000; |
rommem[12590] <= 12'h9FE; |
rommem[12591] <= 12'h0B8; |
rommem[12592] <= 12'h000; |
rommem[12593] <= 12'h9FC; |
rommem[12594] <= 12'h0F8; |
rommem[12595] <= 12'h000; |
rommem[12596] <= 12'h9FD; |
rommem[12597] <= 12'h0FD; |
rommem[12598] <= 12'h000; |
rommem[12599] <= 12'h9FE; |
rommem[12600] <= 12'h18E; |
rommem[12601] <= 12'h000; |
rommem[12602] <= 12'h000; |
rommem[12603] <= 12'h0F6; |
rommem[12604] <= 12'h000; |
rommem[12605] <= 12'h9FE; |
rommem[12606] <= 12'h0C5; |
rommem[12607] <= 12'h008; |
rommem[12608] <= 12'h027; |
rommem[12609] <= 12'h00E; |
rommem[12610] <= 12'h0FC; |
rommem[12611] <= 12'h000; |
rommem[12612] <= 12'h9FE; |
rommem[12613] <= 12'h058; |
rommem[12614] <= 12'h049; |
rommem[12615] <= 12'h0C8; |
rommem[12616] <= 12'h021; |
rommem[12617] <= 12'h088; |
rommem[12618] <= 12'h001; |
rommem[12619] <= 12'h0FD; |
rommem[12620] <= 12'h000; |
rommem[12621] <= 12'h9FE; |
rommem[12622] <= 12'h020; |
rommem[12623] <= 12'h027; |
rommem[12624] <= 12'hFFA; |
rommem[12625] <= 12'h031; |
rommem[12626] <= 12'h3FF; |
rommem[12627] <= 12'h039; |
rommem[12628] <= 12'h034; |
rommem[12629] <= 12'h006; |
rommem[12630] <= 12'h0FC; |
rommem[12631] <= 12'h000; |
rommem[12632] <= 12'h910; |
rommem[12633] <= 12'h0FD; |
rommem[12634] <= 12'h000; |
rommem[12635] <= 12'h918; |
rommem[12636] <= 12'h0FC; |
rommem[12637] <= 12'h000; |
rommem[12638] <= 12'h912; |
rommem[12639] <= 12'h0FD; |
rommem[12640] <= 12'h000; |
rommem[12641] <= 12'h91A; |
rommem[12642] <= 12'h08D; |
rommem[12643] <= 12'h05B; |
rommem[12644] <= 12'h08D; |
rommem[12645] <= 12'h059; |
rommem[12646] <= 12'h0FC; |
rommem[12647] <= 12'h000; |
rommem[12648] <= 12'h912; |
rommem[12649] <= 12'h0F3; |
rommem[12623] <= 12'h008; |
rommem[12624] <= 12'h0FC; |
rommem[12625] <= 12'h000; |
rommem[12626] <= 12'h9FE; |
rommem[12627] <= 12'h058; |
rommem[12628] <= 12'h049; |
rommem[12629] <= 12'h0FD; |
rommem[12630] <= 12'h000; |
rommem[12631] <= 12'h9FE; |
rommem[12632] <= 12'h031; |
rommem[12633] <= 12'h201; |
rommem[12634] <= 12'h18C; |
rommem[12635] <= 12'h000; |
rommem[12636] <= 12'h008; |
rommem[12637] <= 12'h025; |
rommem[12638] <= 12'hFDC; |
rommem[12639] <= 12'h033; |
rommem[12640] <= 12'h401; |
rommem[12641] <= 12'h283; |
rommem[12642] <= 12'h000; |
rommem[12643] <= 12'h080; |
rommem[12644] <= 12'h0FC; |
rommem[12645] <= 12'h000; |
rommem[12646] <= 12'h9FE; |
rommem[12647] <= 12'h084; |
rommem[12648] <= 12'h00F; |
rommem[12649] <= 12'h0FD; |
rommem[12650] <= 12'h000; |
rommem[12651] <= 12'h91A; |
rommem[12652] <= 12'h0F6; |
rommem[12653] <= 12'h000; |
rommem[12654] <= 12'h911; |
rommem[12655] <= 12'h0F9; |
rommem[12656] <= 12'h000; |
rommem[12657] <= 12'h919; |
rommem[12658] <= 12'h0F7; |
rommem[12651] <= 12'h9FE; |
rommem[12652] <= 12'h025; |
rommem[12653] <= 12'hF86; |
rommem[12654] <= 12'h035; |
rommem[12655] <= 12'h0F6; |
rommem[12656] <= 12'h034; |
rommem[12657] <= 12'h006; |
rommem[12658] <= 12'h0FC; |
rommem[12659] <= 12'h000; |
rommem[12660] <= 12'h911; |
rommem[12661] <= 12'h0B6; |
rommem[12662] <= 12'h000; |
rommem[12663] <= 12'h910; |
rommem[12664] <= 12'h0B9; |
rommem[12665] <= 12'h000; |
rommem[12666] <= 12'h918; |
rommem[12667] <= 12'h0B7; |
rommem[12668] <= 12'h000; |
rommem[12669] <= 12'h910; |
rommem[12670] <= 12'h08D; |
rommem[12671] <= 12'h03F; |
rommem[12672] <= 12'h035; |
rommem[12673] <= 12'h086; |
rommem[12674] <= 12'h08D; |
rommem[12675] <= 12'hFC7; |
rommem[12676] <= 12'h08D; |
rommem[12677] <= 12'h0DC; |
rommem[12678] <= 12'h0FC; |
rommem[12679] <= 12'h000; |
rommem[12680] <= 12'h910; |
rommem[12660] <= 12'h800; |
rommem[12661] <= 12'h034; |
rommem[12662] <= 12'h006; |
rommem[12663] <= 12'h0CC; |
rommem[12664] <= 12'hFFE; |
rommem[12665] <= 12'h31F; |
rommem[12666] <= 12'h0FD; |
rommem[12667] <= 12'h000; |
rommem[12668] <= 12'h800; |
rommem[12669] <= 12'h0EC; |
rommem[12670] <= 12'h602; |
rommem[12671] <= 12'h017; |
rommem[12672] <= 12'hFFF; |
rommem[12673] <= 12'h2B8; |
rommem[12674] <= 12'h0C6; |
rommem[12675] <= 12'h020; |
rommem[12676] <= 12'h017; |
rommem[12677] <= 12'hFFF; |
rommem[12678] <= 12'h198; |
rommem[12679] <= 12'h035; |
rommem[12680] <= 12'h006; |
rommem[12681] <= 12'h0FD; |
rommem[12682] <= 12'h000; |
rommem[12683] <= 12'h920; |
rommem[12684] <= 12'h0FC; |
rommem[12685] <= 12'h000; |
rommem[12686] <= 12'h912; |
rommem[12687] <= 12'h0FD; |
rommem[12688] <= 12'h000; |
rommem[12689] <= 12'h922; |
rommem[12690] <= 12'h08D; |
rommem[12691] <= 12'hFB7; |
rommem[12692] <= 12'h08D; |
rommem[12693] <= 12'h0CC; |
rommem[12694] <= 12'h0FC; |
rommem[12695] <= 12'h000; |
rommem[12696] <= 12'h910; |
rommem[12697] <= 12'h0FD; |
rommem[12698] <= 12'h000; |
rommem[12699] <= 12'h924; |
rommem[12700] <= 12'h0FC; |
rommem[12701] <= 12'h000; |
rommem[12702] <= 12'h912; |
rommem[12703] <= 12'h0FD; |
rommem[12704] <= 12'h000; |
rommem[12705] <= 12'h926; |
rommem[12706] <= 12'h039; |
rommem[12707] <= 12'h08D; |
rommem[12708] <= 12'hFDD; |
rommem[12709] <= 12'h0FC; |
rommem[12710] <= 12'h000; |
rommem[12711] <= 12'h926; |
rommem[12712] <= 12'h0B3; |
rommem[12713] <= 12'h000; |
rommem[12714] <= 12'h922; |
rommem[12715] <= 12'h0FC; |
rommem[12716] <= 12'h000; |
rommem[12717] <= 12'h924; |
rommem[12718] <= 12'h0F2; |
rommem[12719] <= 12'h000; |
rommem[12720] <= 12'h921; |
rommem[12721] <= 12'h0B2; |
rommem[12722] <= 12'h000; |
rommem[12723] <= 12'h920; |
rommem[12724] <= 12'h124; |
rommem[12725] <= 12'h000; |
rommem[12726] <= 12'h007; |
rommem[12727] <= 12'h0AD; |
rommem[12728] <= 12'h90F; |
rommem[12729] <= 12'h000; |
rommem[12730] <= 12'h80C; |
rommem[12731] <= 12'h016; |
rommem[12732] <= 12'hFFF; |
rommem[12733] <= 12'hE7B; |
rommem[12734] <= 12'h039; |
rommem[12735] <= 12'h078; |
rommem[12736] <= 12'h000; |
rommem[12737] <= 12'h913; |
rommem[12738] <= 12'h079; |
rommem[12739] <= 12'h000; |
rommem[12740] <= 12'h912; |
rommem[12741] <= 12'h079; |
rommem[12742] <= 12'h000; |
rommem[12743] <= 12'h911; |
rommem[12744] <= 12'h079; |
rommem[12745] <= 12'h000; |
rommem[12746] <= 12'h910; |
rommem[12747] <= 12'h039; |
rommem[12748] <= 12'h04F; |
rommem[12749] <= 12'h05F; |
rommem[12750] <= 12'h0FD; |
rommem[12751] <= 12'h000; |
rommem[12752] <= 12'h910; |
rommem[12753] <= 12'h0FD; |
rommem[12754] <= 12'h000; |
rommem[12755] <= 12'h912; |
rommem[12756] <= 12'h034; |
rommem[12757] <= 12'h010; |
rommem[12758] <= 12'h08E; |
rommem[12759] <= 12'h000; |
rommem[12760] <= 12'h000; |
rommem[12761] <= 12'h08D; |
rommem[12762] <= 12'hF53; |
rommem[12763] <= 12'h08D; |
rommem[12764] <= 12'h093; |
rommem[12765] <= 12'h0C1; |
rommem[12766] <= 12'hFFF; |
rommem[12767] <= 12'h027; |
rommem[12768] <= 12'h017; |
rommem[12769] <= 12'h08D; |
rommem[12770] <= 12'hFDC; |
rommem[12771] <= 12'h08D; |
rommem[12772] <= 12'hFDA; |
rommem[12773] <= 12'h08D; |
rommem[12774] <= 12'hFD8; |
rommem[12775] <= 12'h08D; |
rommem[12776] <= 12'hFD6; |
rommem[12777] <= 12'h0C4; |
rommem[12778] <= 12'h00F; |
rommem[12779] <= 12'h0FA; |
rommem[12683] <= 12'h800; |
rommem[12684] <= 12'h035; |
rommem[12685] <= 12'h006; |
rommem[12686] <= 12'h039; |
rommem[12687] <= 12'h020; |
rommem[12688] <= 12'h8FF; |
rommem[12689] <= 12'h034; |
rommem[12690] <= 12'h004; |
rommem[12691] <= 12'h015; |
rommem[12692] <= 12'h0F6; |
rommem[12693] <= 12'hFFF; |
rommem[12694] <= 12'hFFF; |
rommem[12695] <= 12'hFE0; |
rommem[12696] <= 12'h0F1; |
rommem[12697] <= 12'hFFC; |
rommem[12698] <= 12'h010; |
rommem[12699] <= 12'h026; |
rommem[12700] <= 12'hFF6; |
rommem[12701] <= 12'h017; |
rommem[12702] <= 12'hFFF; |
rommem[12703] <= 12'hAD3; |
rommem[12704] <= 12'h04D; |
rommem[12705] <= 12'h02B; |
rommem[12706] <= 12'h003; |
rommem[12707] <= 12'h032; |
rommem[12708] <= 12'h601; |
rommem[12709] <= 12'h039; |
rommem[12710] <= 12'h035; |
rommem[12711] <= 12'h004; |
rommem[12712] <= 12'h05D; |
rommem[12713] <= 12'h02B; |
rommem[12714] <= 12'hFE6; |
rommem[12715] <= 12'h0CC; |
rommem[12716] <= 12'hFFF; |
rommem[12717] <= 12'hFFF; |
rommem[12718] <= 12'h039; |
rommem[12719] <= 12'h08D; |
rommem[12720] <= 12'hFE0; |
rommem[12721] <= 12'h020; |
rommem[12722] <= 12'h009; |
rommem[12723] <= 12'h08D; |
rommem[12724] <= 12'hFDC; |
rommem[12725] <= 12'h015; |
rommem[12726] <= 12'h07D; |
rommem[12727] <= 12'hFFF; |
rommem[12728] <= 12'hFFC; |
rommem[12729] <= 12'hA00; |
rommem[12730] <= 12'h027; |
rommem[12731] <= 12'h00C; |
rommem[12732] <= 12'h081; |
rommem[12733] <= 12'h00D; |
rommem[12734] <= 12'h026; |
rommem[12735] <= 12'h005; |
rommem[12736] <= 12'h017; |
rommem[12737] <= 12'hFFD; |
rommem[12738] <= 12'hF0F; |
rommem[12739] <= 12'h020; |
rommem[12740] <= 12'h003; |
rommem[12741] <= 12'h017; |
rommem[12742] <= 12'hFFF; |
rommem[12743] <= 12'h154; |
rommem[12744] <= 12'h039; |
rommem[12745] <= 12'h06E; |
rommem[12746] <= 12'h90F; |
rommem[12747] <= 12'h000; |
rommem[12748] <= 12'h800; |
rommem[12749] <= 12'h015; |
rommem[12750] <= 12'h0F7; |
rommem[12751] <= 12'hFFF; |
rommem[12752] <= 12'hFFC; |
rommem[12753] <= 12'hA00; |
rommem[12754] <= 12'h039; |
rommem[12755] <= 12'h015; |
rommem[12756] <= 12'h0BF; |
rommem[12757] <= 12'hFFF; |
rommem[12758] <= 12'hE10; |
rommem[12759] <= 12'h3C0; |
rommem[12760] <= 12'h015; |
rommem[12761] <= 12'h0FD; |
rommem[12762] <= 12'hFFF; |
rommem[12763] <= 12'hE10; |
rommem[12764] <= 12'h3C2; |
rommem[12765] <= 12'h039; |
rommem[12766] <= 12'h000; |
rommem[12767] <= 12'h000; |
rommem[12768] <= 12'h000; |
rommem[12769] <= 12'h000; |
rommem[12770] <= 12'h000; |
rommem[12771] <= 12'h000; |
rommem[12772] <= 12'h000; |
rommem[12773] <= 12'h000; |
rommem[12774] <= 12'h000; |
rommem[12775] <= 12'h000; |
rommem[12776] <= 12'h000; |
rommem[12777] <= 12'h000; |
rommem[12778] <= 12'h000; |
rommem[12779] <= 12'h000; |
rommem[12780] <= 12'h000; |
rommem[12781] <= 12'h913; |
rommem[12782] <= 12'h0F7; |
rommem[12781] <= 12'h000; |
rommem[12782] <= 12'h000; |
rommem[12783] <= 12'h000; |
rommem[12784] <= 12'h913; |
rommem[12785] <= 12'h030; |
rommem[12786] <= 12'h001; |
rommem[12787] <= 12'h08C; |
rommem[12784] <= 12'h000; |
rommem[12785] <= 12'h000; |
rommem[12786] <= 12'h000; |
rommem[12787] <= 12'h000; |
rommem[12788] <= 12'h000; |
rommem[12789] <= 12'h00C; |
rommem[12790] <= 12'h025; |
rommem[12791] <= 12'hFE1; |
rommem[12792] <= 12'h01F; |
rommem[12793] <= 12'h010; |
rommem[12794] <= 12'h035; |
rommem[12795] <= 12'h090; |
rommem[12796] <= 12'h04F; |
rommem[12797] <= 12'h05F; |
rommem[12798] <= 12'h0FD; |
rommem[12789] <= 12'h000; |
rommem[12790] <= 12'h000; |
rommem[12791] <= 12'h000; |
rommem[12792] <= 12'h000; |
rommem[12793] <= 12'h000; |
rommem[12794] <= 12'h000; |
rommem[12795] <= 12'h000; |
rommem[12796] <= 12'h000; |
rommem[12797] <= 12'h000; |
rommem[12798] <= 12'h000; |
rommem[12799] <= 12'h000; |
rommem[12800] <= 12'h910; |
rommem[12801] <= 12'h0FD; |
rommem[12800] <= 12'h000; |
rommem[12801] <= 12'h000; |
rommem[12802] <= 12'h000; |
rommem[12803] <= 12'h912; |
rommem[12804] <= 12'h034; |
rommem[12805] <= 12'h010; |
rommem[12806] <= 12'h08E; |
rommem[12803] <= 12'h000; |
rommem[12804] <= 12'h000; |
rommem[12805] <= 12'h000; |
rommem[12806] <= 12'h000; |
rommem[12807] <= 12'h000; |
rommem[12808] <= 12'h000; |
rommem[12809] <= 12'h08D; |
rommem[12810] <= 12'hF23; |
rommem[12811] <= 12'h08D; |
rommem[12812] <= 12'h099; |
rommem[12813] <= 12'h05D; |
rommem[12814] <= 12'h02B; |
rommem[12815] <= 12'h00F; |
rommem[12816] <= 12'h08D; |
rommem[12817] <= 12'hFAD; |
rommem[12818] <= 12'h0FA; |
rommem[12819] <= 12'h000; |
rommem[12820] <= 12'h913; |
rommem[12821] <= 12'h0F7; |
rommem[12822] <= 12'h000; |
rommem[12823] <= 12'h913; |
rommem[12824] <= 12'h030; |
rommem[12825] <= 12'h001; |
rommem[12826] <= 12'h08C; |
rommem[12827] <= 12'h000; |
rommem[12828] <= 12'h030; |
rommem[12829] <= 12'h025; |
rommem[12830] <= 12'hFEA; |
rommem[12831] <= 12'h01F; |
rommem[12832] <= 12'h010; |
rommem[12833] <= 12'h035; |
rommem[12834] <= 12'h090; |
rommem[12835] <= 12'h04F; |
rommem[12836] <= 12'h05F; |
rommem[12837] <= 12'h0FD; |
rommem[12838] <= 12'h000; |
rommem[12839] <= 12'h910; |
rommem[12840] <= 12'h0FD; |
rommem[12841] <= 12'h000; |
rommem[12842] <= 12'h912; |
rommem[12843] <= 12'h034; |
rommem[12844] <= 12'h010; |
rommem[12845] <= 12'h08E; |
rommem[12809] <= 12'h000; |
rommem[12810] <= 12'hFFF; |
rommem[12811] <= 12'h227; |
rommem[12812] <= 12'h000; |
rommem[12813] <= 12'h000; |
rommem[12814] <= 12'hFFF; |
rommem[12815] <= 12'h210; |
rommem[12816] <= 12'h015; |
rommem[12817] <= 12'h0F6; |
rommem[12818] <= 12'hFFF; |
rommem[12819] <= 12'hFFF; |
rommem[12820] <= 12'hFE0; |
rommem[12821] <= 12'h08E; |
rommem[12822] <= 12'hFFC; |
rommem[12823] <= 12'h000; |
rommem[12824] <= 12'h03A; |
rommem[12825] <= 12'h0A7; |
rommem[12826] <= 12'h804; |
rommem[12827] <= 12'h07D; |
rommem[12828] <= 12'hFFC; |
rommem[12829] <= 12'h010; |
rommem[12830] <= 12'h126; |
rommem[12831] <= 12'h000; |
rommem[12832] <= 12'h8DC; |
rommem[12833] <= 12'h0F7; |
rommem[12834] <= 12'hFFC; |
rommem[12835] <= 12'h010; |
rommem[12836] <= 12'h016; |
rommem[12837] <= 12'h000; |
rommem[12838] <= 12'h8D6; |
rommem[12839] <= 12'h015; |
rommem[12840] <= 12'h0F6; |
rommem[12841] <= 12'hFFF; |
rommem[12842] <= 12'hFFF; |
rommem[12843] <= 12'hFE0; |
rommem[12844] <= 12'h08E; |
rommem[12845] <= 12'hFFC; |
rommem[12846] <= 12'h000; |
rommem[12847] <= 12'h000; |
rommem[12848] <= 12'h08D; |
rommem[12849] <= 12'hEFC; |
rommem[12850] <= 12'h08D; |
rommem[12851] <= 12'h064; |
rommem[12852] <= 12'h05D; |
rommem[12853] <= 12'h02B; |
rommem[12854] <= 12'h027; |
rommem[12855] <= 12'h08D; |
rommem[12856] <= 12'hF1B; |
rommem[12857] <= 12'h0FB; |
rommem[12858] <= 12'h000; |
rommem[12859] <= 12'h913; |
rommem[12860] <= 12'h0F7; |
rommem[12861] <= 12'h000; |
rommem[12862] <= 12'h913; |
rommem[12863] <= 12'h0F6; |
rommem[12864] <= 12'h000; |
rommem[12865] <= 12'h912; |
rommem[12866] <= 12'h0C9; |
rommem[12867] <= 12'h000; |
rommem[12868] <= 12'h0F7; |
rommem[12869] <= 12'h000; |
rommem[12870] <= 12'h912; |
rommem[12871] <= 12'h0F6; |
rommem[12872] <= 12'h000; |
rommem[12873] <= 12'h911; |
rommem[12874] <= 12'h0C9; |
rommem[12875] <= 12'h000; |
rommem[12876] <= 12'h0F7; |
rommem[12877] <= 12'h000; |
rommem[12878] <= 12'h911; |
rommem[12879] <= 12'h0F6; |
rommem[12880] <= 12'h000; |
rommem[12881] <= 12'h910; |
rommem[12882] <= 12'h0C9; |
rommem[12883] <= 12'h000; |
rommem[12884] <= 12'h0F7; |
rommem[12847] <= 12'h03A; |
rommem[12848] <= 12'h06F; |
rommem[12849] <= 12'h804; |
rommem[12850] <= 12'h017; |
rommem[12851] <= 12'hFFE; |
rommem[12852] <= 12'hFD7; |
rommem[12853] <= 12'h0F1; |
rommem[12854] <= 12'hFFC; |
rommem[12855] <= 12'h010; |
rommem[12856] <= 12'h126; |
rommem[12857] <= 12'h000; |
rommem[12858] <= 12'h8C2; |
rommem[12859] <= 12'h086; |
rommem[12860] <= 12'h00F; |
rommem[12861] <= 12'h05C; |
rommem[12862] <= 12'h0C4; |
rommem[12863] <= 12'h00F; |
rommem[12864] <= 12'h03A; |
rommem[12865] <= 12'h06D; |
rommem[12866] <= 12'h804; |
rommem[12867] <= 12'h026; |
rommem[12868] <= 12'h009; |
rommem[12869] <= 12'h04A; |
rommem[12870] <= 12'h026; |
rommem[12871] <= 12'hFF5; |
rommem[12872] <= 12'h0C6; |
rommem[12873] <= 12'h001; |
rommem[12874] <= 12'h086; |
rommem[12875] <= 12'h018; |
rommem[12876] <= 12'h0A7; |
rommem[12877] <= 12'h804; |
rommem[12878] <= 12'h0F7; |
rommem[12879] <= 12'hFFC; |
rommem[12880] <= 12'h010; |
rommem[12881] <= 12'h017; |
rommem[12882] <= 12'hFFE; |
rommem[12883] <= 12'hF81; |
rommem[12884] <= 12'h016; |
rommem[12885] <= 12'h000; |
rommem[12886] <= 12'h910; |
rommem[12887] <= 12'h030; |
rommem[12888] <= 12'h001; |
rommem[12889] <= 12'h08C; |
rommem[12890] <= 12'h000; |
rommem[12891] <= 12'h00F; |
rommem[12892] <= 12'h025; |
rommem[12893] <= 12'hFD2; |
rommem[12894] <= 12'h01F; |
rommem[12895] <= 12'h010; |
rommem[12896] <= 12'h035; |
rommem[12897] <= 12'h090; |
rommem[12898] <= 12'h08D; |
rommem[12899] <= 12'hECA; |
rommem[12900] <= 12'h0C1; |
rommem[12901] <= 12'h02B; |
rommem[12902] <= 12'h027; |
rommem[12903] <= 12'hFBB; |
rommem[12904] <= 12'h0C1; |
rommem[12905] <= 12'h025; |
rommem[12906] <= 12'h027; |
rommem[12907] <= 12'hF90; |
rommem[12908] <= 12'h031; |
rommem[12909] <= 12'h3FF; |
rommem[12910] <= 12'h020; |
rommem[12911] <= 12'hF5C; |
rommem[12912] <= 12'h0C1; |
rommem[12913] <= 12'h030; |
rommem[12914] <= 12'h025; |
rommem[12915] <= 12'h021; |
rommem[12916] <= 12'h0C1; |
rommem[12917] <= 12'h039; |
rommem[12918] <= 12'h022; |
rommem[12919] <= 12'h003; |
rommem[12920] <= 12'h0C0; |
rommem[12921] <= 12'h030; |
rommem[12922] <= 12'h039; |
rommem[12923] <= 12'h0C1; |
rommem[12924] <= 12'h041; |
rommem[12925] <= 12'h025; |
rommem[12926] <= 12'h016; |
rommem[12927] <= 12'h0C1; |
rommem[12928] <= 12'h046; |
rommem[12929] <= 12'h022; |
rommem[12930] <= 12'h005; |
rommem[12931] <= 12'h0C0; |
rommem[12932] <= 12'h041; |
rommem[12933] <= 12'h0CB; |
rommem[12934] <= 12'h00A; |
rommem[12935] <= 12'h039; |
rommem[12936] <= 12'h0C1; |
rommem[12937] <= 12'h061; |
rommem[12938] <= 12'h025; |
rommem[12939] <= 12'h009; |
rommem[12940] <= 12'h0C1; |
rommem[12941] <= 12'h07A; |
rommem[12942] <= 12'h022; |
rommem[12943] <= 12'h005; |
rommem[12944] <= 12'h0C0; |
rommem[12945] <= 12'h061; |
rommem[12946] <= 12'h0CB; |
rommem[12947] <= 12'h00A; |
rommem[12948] <= 12'h039; |
rommem[12949] <= 12'h0C6; |
rommem[12886] <= 12'h8A6; |
rommem[12887] <= 12'h18E; |
rommem[12888] <= 12'h000; |
rommem[12889] <= 12'h000; |
rommem[12890] <= 12'h015; |
rommem[12891] <= 12'h1BF; |
rommem[12892] <= 12'hFFF; |
rommem[12893] <= 12'hE30; |
rommem[12894] <= 12'h604; |
rommem[12895] <= 12'h015; |
rommem[12896] <= 12'h07F; |
rommem[12897] <= 12'hFFF; |
rommem[12898] <= 12'hE30; |
rommem[12899] <= 12'h608; |
rommem[12900] <= 12'h015; |
rommem[12901] <= 12'h07F; |
rommem[12902] <= 12'hFFF; |
rommem[12903] <= 12'hE30; |
rommem[12904] <= 12'h609; |
rommem[12905] <= 12'h015; |
rommem[12906] <= 12'h0FD; |
rommem[12907] <= 12'hFFF; |
rommem[12908] <= 12'hE30; |
rommem[12909] <= 12'h60A; |
rommem[12910] <= 12'h015; |
rommem[12911] <= 12'h07F; |
rommem[12912] <= 12'hFFF; |
rommem[12913] <= 12'hE30; |
rommem[12914] <= 12'h60C; |
rommem[12915] <= 12'h015; |
rommem[12916] <= 12'h07F; |
rommem[12917] <= 12'hFFF; |
rommem[12918] <= 12'hE30; |
rommem[12919] <= 12'h60D; |
rommem[12920] <= 12'h015; |
rommem[12921] <= 12'h0BF; |
rommem[12922] <= 12'hFFF; |
rommem[12923] <= 12'hE30; |
rommem[12924] <= 12'h60E; |
rommem[12925] <= 12'h031; |
rommem[12926] <= 12'h201; |
rommem[12927] <= 12'h18C; |
rommem[12928] <= 12'h000; |
rommem[12929] <= 12'h400; |
rommem[12930] <= 12'h025; |
rommem[12931] <= 12'hFD6; |
rommem[12932] <= 12'h039; |
rommem[12933] <= 12'h015; |
rommem[12934] <= 12'h0FD; |
rommem[12935] <= 12'hFFF; |
rommem[12936] <= 12'hE30; |
rommem[12937] <= 12'h604; |
rommem[12938] <= 12'h015; |
rommem[12939] <= 12'h0BE; |
rommem[12940] <= 12'hFFF; |
rommem[12941] <= 12'hE30; |
rommem[12942] <= 12'h600; |
rommem[12943] <= 12'h015; |
rommem[12944] <= 12'h0FC; |
rommem[12945] <= 12'hFFF; |
rommem[12946] <= 12'hE30; |
rommem[12947] <= 12'h602; |
rommem[12948] <= 12'h015; |
rommem[12949] <= 12'h0F7; |
rommem[12950] <= 12'hFFF; |
rommem[12951] <= 12'h039; |
rommem[12952] <= 12'h0C1; |
rommem[12953] <= 12'h030; |
rommem[12954] <= 12'h025; |
rommem[12955] <= 12'h007; |
rommem[12956] <= 12'h0C1; |
rommem[12957] <= 12'h039; |
rommem[12958] <= 12'h022; |
rommem[12959] <= 12'h003; |
rommem[12960] <= 12'h0C0; |
rommem[12961] <= 12'h030; |
rommem[12962] <= 12'h039; |
rommem[12963] <= 12'h0C6; |
rommem[12964] <= 12'hFFF; |
rommem[12965] <= 12'h039; |
rommem[12966] <= 12'h0C1; |
rommem[12967] <= 12'h030; |
rommem[12968] <= 12'h026; |
rommem[12969] <= 12'h002; |
rommem[12970] <= 12'h05F; |
rommem[12971] <= 12'h039; |
rommem[12972] <= 12'h0C1; |
rommem[12973] <= 12'h031; |
rommem[12974] <= 12'h026; |
rommem[12975] <= 12'h003; |
rommem[12976] <= 12'h0C6; |
rommem[12977] <= 12'h001; |
rommem[12978] <= 12'h039; |
rommem[12979] <= 12'h0C6; |
rommem[12980] <= 12'hFFF; |
rommem[12981] <= 12'h039; |
rommem[12982] <= 12'h0CC; |
rommem[12983] <= 12'hFFF; |
rommem[12984] <= 12'h2C7; |
rommem[12985] <= 12'h017; |
rommem[12986] <= 12'hFFF; |
rommem[12987] <= 12'h11E; |
rommem[12988] <= 12'h07E; |
rommem[12989] <= 12'hFFF; |
rommem[12990] <= 12'h039; |
rommem[12991] <= 12'h0DD; |
rommem[12992] <= 12'h024; |
rommem[12993] <= 12'h09F; |
rommem[12994] <= 12'h026; |
rommem[12995] <= 12'h0BD; |
rommem[12996] <= 12'hFFE; |
rommem[12997] <= 12'h3DA; |
rommem[12998] <= 12'h039; |
rommem[12999] <= 12'h02A; |
rommem[13000] <= 12'h02A; |
rommem[13001] <= 12'h045; |
rommem[13002] <= 12'h072; |
rommem[13003] <= 12'h072; |
rommem[13004] <= 12'h00D; |
rommem[13005] <= 12'h00A; |
rommem[13006] <= 12'h000; |
rommem[13007] <= 12'h03F; |
rommem[13008] <= 12'h020; |
rommem[13009] <= 12'h03D; |
rommem[13010] <= 12'h020; |
rommem[13011] <= 12'h044; |
rommem[13012] <= 12'h069; |
rommem[13013] <= 12'h073; |
rommem[13014] <= 12'h070; |
rommem[13015] <= 12'h06C; |
rommem[13016] <= 12'h061; |
rommem[13017] <= 12'h079; |
rommem[13018] <= 12'h020; |
rommem[13019] <= 12'h068; |
rommem[13020] <= 12'h065; |
rommem[13021] <= 12'h06C; |
rommem[13022] <= 12'h070; |
rommem[13023] <= 12'h00D; |
rommem[13024] <= 12'h00A; |
rommem[13025] <= 12'h043; |
rommem[13026] <= 12'h04C; |
rommem[13027] <= 12'h053; |
rommem[13028] <= 12'h020; |
rommem[13029] <= 12'h03D; |
rommem[13030] <= 12'h020; |
rommem[13031] <= 12'h063; |
rommem[13032] <= 12'h06C; |
rommem[13033] <= 12'h065; |
rommem[13034] <= 12'h061; |
rommem[13035] <= 12'h072; |
rommem[13036] <= 12'h020; |
rommem[13037] <= 12'h073; |
rommem[13038] <= 12'h063; |
rommem[13039] <= 12'h072; |
rommem[13040] <= 12'h065; |
rommem[13041] <= 12'h065; |
rommem[13042] <= 12'h06E; |
rommem[13043] <= 12'h00D; |
rommem[13044] <= 12'h00A; |
rommem[13045] <= 12'h062; |
rommem[13046] <= 12'h073; |
rommem[13047] <= 12'h020; |
rommem[13048] <= 12'h03D; |
rommem[13049] <= 12'h020; |
rommem[13050] <= 12'h073; |
rommem[13051] <= 12'h065; |
rommem[13052] <= 12'h074; |
rommem[13053] <= 12'h020; |
rommem[13054] <= 12'h062; |
rommem[13055] <= 12'h072; |
rommem[13056] <= 12'h065; |
rommem[13057] <= 12'h061; |
rommem[13058] <= 12'h06B; |
rommem[13059] <= 12'h070; |
rommem[13060] <= 12'h06F; |
rommem[13061] <= 12'h069; |
rommem[13062] <= 12'h06E; |
rommem[13063] <= 12'h074; |
rommem[13064] <= 12'h00D; |
rommem[13065] <= 12'h00A; |
rommem[13066] <= 12'h062; |
rommem[13067] <= 12'h063; |
rommem[13068] <= 12'h020; |
rommem[13069] <= 12'h03D; |
rommem[13070] <= 12'h020; |
rommem[13071] <= 12'h063; |
rommem[13072] <= 12'h06C; |
rommem[13073] <= 12'h065; |
rommem[13074] <= 12'h061; |
rommem[13075] <= 12'h072; |
rommem[13076] <= 12'h020; |
rommem[13077] <= 12'h062; |
rommem[13078] <= 12'h072; |
rommem[13079] <= 12'h065; |
rommem[13080] <= 12'h061; |
rommem[13081] <= 12'h06B; |
rommem[13082] <= 12'h070; |
rommem[13083] <= 12'h06F; |
rommem[13084] <= 12'h069; |
rommem[13085] <= 12'h06E; |
rommem[13086] <= 12'h074; |
rommem[13087] <= 12'h00D; |
rommem[13088] <= 12'h00A; |
rommem[13089] <= 12'h03A; |
rommem[13090] <= 12'h020; |
rommem[13091] <= 12'h03D; |
rommem[13092] <= 12'h020; |
rommem[13093] <= 12'h045; |
rommem[13094] <= 12'h064; |
rommem[13095] <= 12'h069; |
rommem[13096] <= 12'h074; |
rommem[13097] <= 12'h020; |
rommem[13098] <= 12'h06D; |
rommem[13099] <= 12'h065; |
rommem[13100] <= 12'h06D; |
rommem[13101] <= 12'h06F; |
rommem[13102] <= 12'h072; |
rommem[13103] <= 12'h079; |
rommem[13104] <= 12'h020; |
rommem[13105] <= 12'h062; |
rommem[13106] <= 12'h079; |
rommem[13107] <= 12'h074; |
rommem[13108] <= 12'h065; |
rommem[13109] <= 12'h073; |
rommem[13110] <= 12'h00D; |
rommem[13111] <= 12'h00A; |
rommem[13112] <= 12'h044; |
rommem[13113] <= 12'h052; |
rommem[13114] <= 12'h020; |
rommem[13115] <= 12'h03D; |
rommem[13116] <= 12'h020; |
rommem[13117] <= 12'h044; |
rommem[13118] <= 12'h075; |
rommem[13119] <= 12'h06D; |
rommem[13120] <= 12'h070; |
rommem[13121] <= 12'h020; |
rommem[13122] <= 12'h072; |
rommem[13123] <= 12'h065; |
rommem[13124] <= 12'h067; |
rommem[13125] <= 12'h069; |
rommem[13126] <= 12'h073; |
rommem[13127] <= 12'h074; |
rommem[13128] <= 12'h065; |
rommem[13129] <= 12'h072; |
rommem[13130] <= 12'h073; |
rommem[13131] <= 12'h00D; |
rommem[13132] <= 12'h00A; |
rommem[13133] <= 12'h044; |
rommem[13134] <= 12'h020; |
rommem[13135] <= 12'h03D; |
rommem[12951] <= 12'hE30; |
rommem[12952] <= 12'h603; |
rommem[12953] <= 12'h039; |
rommem[12954] <= 12'h03C; |
rommem[12955] <= 12'h83E; |
rommem[12956] <= 12'h042; |
rommem[12957] <= 12'h82B; |
rommem[12958] <= 12'h042; |
rommem[12959] <= 12'h82D; |
rommem[12960] <= 12'h044; |
rommem[12961] <= 12'h852; |
rommem[12962] <= 12'h844; |
rommem[12963] <= 12'h83A; |
rommem[12964] <= 12'h046; |
rommem[12965] <= 12'h049; |
rommem[12966] <= 12'h847; |
rommem[12967] <= 12'h046; |
rommem[12968] <= 12'h049; |
rommem[12969] <= 12'h84C; |
rommem[12970] <= 12'h046; |
rommem[12971] <= 12'h84C; |
rommem[12972] <= 12'h84A; |
rommem[12973] <= 12'h052; |
rommem[12974] <= 12'h041; |
rommem[12975] <= 12'h04D; |
rommem[12976] <= 12'h054; |
rommem[12977] <= 12'h045; |
rommem[12978] <= 12'h053; |
rommem[12979] <= 12'h854; |
rommem[12980] <= 12'h053; |
rommem[12981] <= 12'h050; |
rommem[12982] <= 12'h844; |
rommem[12983] <= 12'h054; |
rommem[12984] <= 12'h049; |
rommem[12985] <= 12'h852; |
rommem[12986] <= 12'h855; |
rommem[12987] <= 12'h065; |
rommem[12988] <= 12'h078; |
rommem[12989] <= 12'h069; |
rommem[12990] <= 12'h874; |
rommem[12991] <= 12'h83F; |
rommem[12992] <= 12'h043; |
rommem[12993] <= 12'h04C; |
rommem[12994] <= 12'h853; |
rommem[12995] <= 12'h053; |
rommem[12996] <= 12'h031; |
rommem[12997] <= 12'h839; |
rommem[12998] <= 12'h04A; |
rommem[12999] <= 12'h044; |
rommem[13000] <= 12'h834; |
rommem[13001] <= 12'h058; |
rommem[13002] <= 12'h04D; |
rommem[13003] <= 12'h852; |
rommem[13004] <= 12'h058; |
rommem[13005] <= 12'h04D; |
rommem[13006] <= 12'h853; |
rommem[13007] <= 12'h052; |
rommem[13008] <= 12'h841; |
rommem[13009] <= 12'h052; |
rommem[13010] <= 12'h842; |
rommem[13011] <= 12'h052; |
rommem[13012] <= 12'h044; |
rommem[13013] <= 12'h050; |
rommem[13014] <= 12'h852; |
rommem[13015] <= 12'h052; |
rommem[13016] <= 12'h844; |
rommem[13017] <= 12'h052; |
rommem[13018] <= 12'h858; |
rommem[13019] <= 12'h052; |
rommem[13020] <= 12'h859; |
rommem[13021] <= 12'h052; |
rommem[13022] <= 12'h855; |
rommem[13023] <= 12'h052; |
rommem[13024] <= 12'h853; |
rommem[13025] <= 12'h052; |
rommem[13026] <= 12'h043; |
rommem[13027] <= 12'h043; |
rommem[13028] <= 12'h852; |
rommem[13029] <= 12'h052; |
rommem[13030] <= 12'h050; |
rommem[13031] <= 12'h843; |
rommem[13032] <= 12'h04C; |
rommem[13033] <= 12'h842; |
rommem[13034] <= 12'h000; |
rommem[13035] <= 12'h000; |
rommem[13036] <= 12'hFFF; |
rommem[13037] <= 12'h427; |
rommem[13038] <= 12'hFFF; |
rommem[13039] <= 12'h469; |
rommem[13040] <= 12'hFFF; |
rommem[13041] <= 12'h474; |
rommem[13042] <= 12'hFFF; |
rommem[13043] <= 12'h899; |
rommem[13044] <= 12'hFFF; |
rommem[13045] <= 12'h7D0; |
rommem[13046] <= 12'hFFF; |
rommem[13047] <= 12'h82C; |
rommem[13048] <= 12'hFE0; |
rommem[13049] <= 12'h000; |
rommem[13050] <= 12'hFFF; |
rommem[13051] <= 12'h86F; |
rommem[13052] <= 12'hFFF; |
rommem[13053] <= 12'h9F5; |
rommem[13054] <= 12'hFFF; |
rommem[13055] <= 12'h980; |
rommem[13056] <= 12'hFFD; |
rommem[13057] <= 12'h400; |
rommem[13058] <= 12'hFF8; |
rommem[13059] <= 12'h000; |
rommem[13060] <= 12'hFFE; |
rommem[13061] <= 12'h524; |
rommem[13062] <= 12'hFF8; |
rommem[13063] <= 12'h003; |
rommem[13064] <= 12'hFFF; |
rommem[13065] <= 12'hAE6; |
rommem[13066] <= 12'hFFF; |
rommem[13067] <= 12'h44D; |
rommem[13068] <= 12'hFFF; |
rommem[13069] <= 12'h455; |
rommem[13070] <= 12'hFFE; |
rommem[13071] <= 12'hE8F; |
rommem[13072] <= 12'hFFD; |
rommem[13073] <= 12'h400; |
rommem[13074] <= 12'hFFE; |
rommem[13075] <= 12'hFBA; |
rommem[13076] <= 12'hFFE; |
rommem[13077] <= 12'hF2C; |
rommem[13078] <= 12'hFFF; |
rommem[13079] <= 12'h8E4; |
rommem[13080] <= 12'hFFF; |
rommem[13081] <= 12'h8F3; |
rommem[13082] <= 12'hFFF; |
rommem[13083] <= 12'h94D; |
rommem[13084] <= 12'hFFF; |
rommem[13085] <= 12'h902; |
rommem[13086] <= 12'hFFF; |
rommem[13087] <= 12'h911; |
rommem[13088] <= 12'hFFF; |
rommem[13089] <= 12'h920; |
rommem[13090] <= 12'hFFF; |
rommem[13091] <= 12'h92F; |
rommem[13092] <= 12'hFFF; |
rommem[13093] <= 12'h93E; |
rommem[13094] <= 12'hFFF; |
rommem[13095] <= 12'h95C; |
rommem[13096] <= 12'hFFF; |
rommem[13097] <= 12'h96B; |
rommem[13098] <= 12'hFFF; |
rommem[13099] <= 12'hBD2; |
rommem[13100] <= 12'h017; |
rommem[13101] <= 12'hFFD; |
rommem[13102] <= 12'hDA3; |
rommem[13103] <= 12'h0C6; |
rommem[13104] <= 12'h024; |
rommem[13105] <= 12'h017; |
rommem[13106] <= 12'hFFF; |
rommem[13107] <= 12'hE95; |
rommem[13108] <= 12'h016; |
rommem[13109] <= 12'hFFF; |
rommem[13110] <= 12'hE92; |
rommem[13111] <= 12'h046; |
rommem[13112] <= 12'h065; |
rommem[13113] <= 12'h06D; |
rommem[13114] <= 12'h074; |
rommem[13115] <= 12'h069; |
rommem[13116] <= 12'h06B; |
rommem[13117] <= 12'h069; |
rommem[13118] <= 12'h020; |
rommem[13119] <= 12'h046; |
rommem[13120] <= 12'h030; |
rommem[13121] <= 12'h039; |
rommem[13122] <= 12'h020; |
rommem[13123] <= 12'h04D; |
rommem[13124] <= 12'h075; |
rommem[13125] <= 12'h06C; |
rommem[13126] <= 12'h074; |
rommem[13127] <= 12'h069; |
rommem[13128] <= 12'h02D; |
rommem[13129] <= 12'h063; |
rommem[13130] <= 12'h06F; |
rommem[13131] <= 12'h072; |
rommem[13132] <= 12'h065; |
rommem[13133] <= 12'h020; |
rommem[13134] <= 12'h04F; |
rommem[13135] <= 12'h053; |
rommem[13136] <= 12'h020; |
rommem[13137] <= 12'h044; |
rommem[13138] <= 12'h075; |
rommem[13139] <= 12'h06D; |
rommem[13140] <= 12'h070; |
rommem[13141] <= 12'h020; |
rommem[13142] <= 12'h06D; |
rommem[13143] <= 12'h065; |
rommem[13144] <= 12'h06D; |
rommem[13145] <= 12'h06F; |
rommem[13146] <= 12'h072; |
rommem[13147] <= 12'h079; |
rommem[13148] <= 12'h00D; |
rommem[13149] <= 12'h00A; |
rommem[13150] <= 12'h046; |
rommem[13151] <= 12'h020; |
rommem[13152] <= 12'h03D; |
rommem[13153] <= 12'h020; |
rommem[13154] <= 12'h046; |
rommem[13155] <= 12'h069; |
rommem[13156] <= 12'h06C; |
rommem[13157] <= 12'h06C; |
rommem[13158] <= 12'h020; |
rommem[13159] <= 12'h06D; |
rommem[13160] <= 12'h065; |
rommem[13161] <= 12'h06D; |
rommem[13162] <= 12'h06F; |
rommem[13163] <= 12'h072; |
rommem[13164] <= 12'h079; |
rommem[13165] <= 12'h00D; |
rommem[13166] <= 12'h00A; |
rommem[13167] <= 12'h046; |
rommem[13168] <= 12'h04C; |
rommem[13169] <= 12'h020; |
rommem[13170] <= 12'h03D; |
rommem[13171] <= 12'h020; |
rommem[13172] <= 12'h044; |
rommem[13173] <= 12'h075; |
rommem[13174] <= 12'h06D; |
rommem[13175] <= 12'h070; |
rommem[13176] <= 12'h020; |
rommem[13177] <= 12'h049; |
rommem[13178] <= 12'h02F; |
rommem[13179] <= 12'h04F; |
rommem[13180] <= 12'h020; |
rommem[13181] <= 12'h046; |
rommem[13182] <= 12'h06F; |
rommem[13183] <= 12'h063; |
rommem[13184] <= 12'h075; |
rommem[13185] <= 12'h073; |
rommem[13186] <= 12'h020; |
rommem[13187] <= 12'h04C; |
rommem[13188] <= 12'h069; |
rommem[13189] <= 12'h073; |
rommem[13190] <= 12'h074; |
rommem[13191] <= 12'h00D; |
rommem[13192] <= 12'h00A; |
rommem[13193] <= 12'h04A; |
rommem[13194] <= 12'h020; |
rommem[13195] <= 12'h03D; |
rommem[13196] <= 12'h020; |
rommem[13197] <= 12'h04A; |
rommem[13198] <= 12'h075; |
rommem[13199] <= 12'h06D; |
rommem[13200] <= 12'h070; |
rommem[13201] <= 12'h020; |
rommem[13202] <= 12'h074; |
rommem[13203] <= 12'h06F; |
rommem[13204] <= 12'h020; |
rommem[13205] <= 12'h063; |
rommem[13206] <= 12'h06F; |
rommem[13207] <= 12'h064; |
rommem[13208] <= 12'h065; |
rommem[13209] <= 12'h00D; |
rommem[13210] <= 12'h00A; |
rommem[13211] <= 12'h04A; |
rommem[13212] <= 12'h044; |
rommem[13213] <= 12'h034; |
rommem[13214] <= 12'h020; |
rommem[13215] <= 12'h03D; |
rommem[13216] <= 12'h020; |
rommem[13217] <= 12'h04A; |
rommem[13218] <= 12'h075; |
rommem[13219] <= 12'h06D; |
rommem[13220] <= 12'h070; |
rommem[13221] <= 12'h020; |
rommem[13222] <= 12'h074; |
rommem[13223] <= 12'h06F; |
rommem[13224] <= 12'h020; |
rommem[13225] <= 12'h024; |
rommem[13226] <= 12'h046; |
rommem[13227] <= 12'h046; |
rommem[13228] <= 12'h044; |
rommem[13229] <= 12'h034; |
rommem[13230] <= 12'h030; |
rommem[13231] <= 12'h030; |
rommem[13232] <= 12'h00D; |
rommem[13233] <= 12'h00A; |
rommem[13234] <= 12'h052; |
rommem[13235] <= 12'h041; |
rommem[13236] <= 12'h04D; |
rommem[13237] <= 12'h054; |
rommem[13238] <= 12'h045; |
rommem[13239] <= 12'h053; |
rommem[13240] <= 12'h054; |
rommem[13241] <= 12'h020; |
rommem[13242] <= 12'h03D; |
rommem[13243] <= 12'h020; |
rommem[13244] <= 12'h074; |
rommem[13245] <= 12'h065; |
rommem[13246] <= 12'h073; |
rommem[13247] <= 12'h074; |
rommem[13248] <= 12'h020; |
rommem[13249] <= 12'h052; |
rommem[13250] <= 12'h041; |
rommem[13251] <= 12'h04D; |
rommem[13252] <= 12'h00D; |
rommem[13253] <= 12'h00A; |
rommem[13254] <= 12'h073; |
rommem[13255] <= 12'h020; |
rommem[13256] <= 12'h03D; |
rommem[13257] <= 12'h020; |
rommem[13258] <= 12'h073; |
rommem[13259] <= 12'h065; |
rommem[13260] <= 12'h072; |
rommem[13261] <= 12'h069; |
rommem[13262] <= 12'h061; |
rommem[13263] <= 12'h06C; |
rommem[13264] <= 12'h020; |
rommem[13265] <= 12'h06F; |
rommem[13266] <= 12'h075; |
rommem[13267] <= 12'h074; |
rommem[13268] <= 12'h070; |
rommem[13269] <= 12'h075; |
rommem[13270] <= 12'h074; |
rommem[13271] <= 12'h020; |
rommem[13272] <= 12'h074; |
rommem[13273] <= 12'h065; |
rommem[13274] <= 12'h073; |
rommem[13275] <= 12'h074; |
rommem[13276] <= 12'h00D; |
rommem[13277] <= 12'h00A; |
rommem[13278] <= 12'h053; |
rommem[13279] <= 12'h031; |
rommem[13280] <= 12'h039; |
rommem[13281] <= 12'h020; |
rommem[13282] <= 12'h03D; |
rommem[13283] <= 12'h020; |
rommem[13284] <= 12'h072; |
rommem[13285] <= 12'h075; |
rommem[13286] <= 12'h06E; |
rommem[13287] <= 12'h020; |
rommem[13288] <= 12'h053; |
rommem[13289] <= 12'h031; |
rommem[13290] <= 12'h039; |
rommem[13291] <= 12'h020; |
rommem[13292] <= 12'h06C; |
rommem[13293] <= 12'h06F; |
rommem[13294] <= 12'h061; |
rommem[13295] <= 12'h064; |
rommem[13296] <= 12'h065; |
rommem[13297] <= 12'h072; |
rommem[13298] <= 12'h00D; |
rommem[13299] <= 12'h00A; |
rommem[13300] <= 12'h053; |
rommem[13301] <= 12'h050; |
rommem[13302] <= 12'h020; |
rommem[13303] <= 12'h03D; |
rommem[13304] <= 12'h020; |
rommem[13305] <= 12'h073; |
rommem[13306] <= 12'h070; |
rommem[13307] <= 12'h072; |
rommem[13308] <= 12'h069; |
rommem[13309] <= 12'h074; |
rommem[13310] <= 12'h065; |
rommem[13311] <= 12'h020; |
rommem[13312] <= 12'h064; |
rommem[13313] <= 12'h065; |
rommem[13314] <= 12'h06D; |
rommem[13315] <= 12'h06F; |
rommem[13316] <= 12'h00D; |
rommem[13317] <= 12'h00A; |
rommem[13318] <= 12'h054; |
rommem[13319] <= 12'h049; |
rommem[13320] <= 12'h020; |
rommem[13321] <= 12'h03D; |
rommem[13322] <= 12'h020; |
rommem[13323] <= 12'h064; |
rommem[13324] <= 12'h069; |
rommem[13325] <= 12'h073; |
rommem[13326] <= 12'h070; |
rommem[13327] <= 12'h06C; |
rommem[13328] <= 12'h061; |
rommem[13329] <= 12'h079; |
rommem[13330] <= 12'h020; |
rommem[13331] <= 12'h064; |
rommem[13332] <= 12'h061; |
rommem[13333] <= 12'h074; |
rommem[13334] <= 12'h065; |
rommem[13335] <= 12'h02F; |
rommem[13336] <= 12'h074; |
rommem[13337] <= 12'h069; |
rommem[13338] <= 12'h06D; |
rommem[13339] <= 12'h065; |
rommem[13340] <= 12'h00D; |
rommem[13341] <= 12'h00A; |
rommem[13342] <= 12'h055; |
rommem[13343] <= 12'h020; |
rommem[13344] <= 12'h03D; |
rommem[13345] <= 12'h020; |
rommem[13346] <= 12'h075; |
rommem[13347] <= 12'h06E; |
rommem[13348] <= 12'h061; |
rommem[13349] <= 12'h073; |
rommem[13350] <= 12'h073; |
rommem[13351] <= 12'h065; |
rommem[13352] <= 12'h06D; |
rommem[13353] <= 12'h062; |
rommem[13354] <= 12'h06C; |
rommem[13355] <= 12'h065; |
rommem[13356] <= 12'h00D; |
rommem[13357] <= 12'h00A; |
rommem[13358] <= 12'h078; |
rommem[13359] <= 12'h020; |
rommem[13360] <= 12'h03D; |
rommem[13361] <= 12'h020; |
rommem[13362] <= 12'h065; |
rommem[13363] <= 12'h078; |
rommem[13364] <= 12'h069; |
rommem[13365] <= 12'h074; |
rommem[13366] <= 12'h020; |
rommem[13367] <= 12'h06D; |
rommem[13368] <= 12'h06F; |
rommem[13369] <= 12'h06E; |
rommem[13370] <= 12'h069; |
rommem[13371] <= 12'h074; |
rommem[13372] <= 12'h06F; |
rommem[13373] <= 12'h072; |
rommem[13374] <= 12'h00D; |
rommem[13375] <= 12'h00A; |
rommem[13376] <= 12'h000; |
rommem[13377] <= 12'h00D; |
rommem[13378] <= 12'h00A; |
rommem[13379] <= 12'h020; |
rommem[13380] <= 12'h020; |
rommem[13381] <= 12'h044; |
rommem[13382] <= 12'h02F; |
rommem[13383] <= 12'h041; |
rommem[13384] <= 12'h042; |
rommem[13385] <= 12'h020; |
rommem[13386] <= 12'h020; |
rommem[13137] <= 12'h053; |
rommem[13138] <= 12'h074; |
rommem[13139] <= 12'h061; |
rommem[13140] <= 12'h072; |
rommem[13141] <= 12'h074; |
rommem[13142] <= 12'h069; |
rommem[13143] <= 12'h06E; |
rommem[13144] <= 12'h067; |
rommem[13145] <= 12'h00D; |
rommem[13146] <= 12'h00A; |
rommem[13147] <= 12'h000; |
rommem[13148] <= 12'h01C; |
rommem[13149] <= 12'h0EF; |
rommem[13150] <= 12'h086; |
rommem[13151] <= 12'h01F; |
rommem[13152] <= 12'h015; |
rommem[13153] <= 12'h0B7; |
rommem[13154] <= 12'hFFF; |
rommem[13155] <= 12'hE3F; |
rommem[13156] <= 12'h010; |
rommem[13157] <= 12'h0FC; |
rommem[13158] <= 12'h000; |
rommem[13159] <= 12'h92C; |
rommem[13160] <= 12'h183; |
rommem[13161] <= 12'h12D; |
rommem[13162] <= 12'h687; |
rommem[13163] <= 12'h027; |
rommem[13164] <= 12'h04D; |
rommem[13165] <= 12'h07F; |
rommem[13166] <= 12'h000; |
rommem[13167] <= 12'h810; |
rommem[13168] <= 12'h07F; |
rommem[13169] <= 12'h000; |
rommem[13170] <= 12'h811; |
rommem[13171] <= 12'h0CC; |
rommem[13172] <= 12'h000; |
rommem[13173] <= 12'h07B; |
rommem[13174] <= 12'h08E; |
rommem[13175] <= 12'h000; |
rommem[13176] <= 12'h28E; |
rommem[13177] <= 12'h017; |
rommem[13178] <= 12'hFFF; |
rommem[13179] <= 12'hEDB; |
rommem[13180] <= 12'h0CC; |
rommem[13181] <= 12'hFFF; |
rommem[13182] <= 12'h337; |
rommem[13183] <= 12'h017; |
rommem[13184] <= 12'hFFF; |
rommem[13185] <= 12'h05B; |
rommem[13186] <= 12'h0CC; |
rommem[13187] <= 12'hFFF; |
rommem[13188] <= 12'h5FE; |
rommem[13189] <= 12'h017; |
rommem[13190] <= 12'hFFF; |
rommem[13191] <= 12'h055; |
rommem[13192] <= 12'h0CC; |
rommem[13193] <= 12'hFFF; |
rommem[13194] <= 12'h32C; |
rommem[13195] <= 12'h0FD; |
rommem[13196] <= 12'h000; |
rommem[13197] <= 12'h808; |
rommem[13198] <= 12'h0CC; |
rommem[13199] <= 12'hFFF; |
rommem[13200] <= 12'h5E5; |
rommem[13201] <= 12'h0FD; |
rommem[13202] <= 12'h000; |
rommem[13203] <= 12'h80C; |
rommem[13204] <= 12'h0CC; |
rommem[13205] <= 12'h006; |
rommem[13206] <= 12'h3FF; |
rommem[13207] <= 12'h0FD; |
rommem[13208] <= 12'h000; |
rommem[13209] <= 12'h908; |
rommem[13210] <= 12'h07F; |
rommem[13211] <= 12'h000; |
rommem[13212] <= 12'h90E; |
rommem[13213] <= 12'h01F; |
rommem[13214] <= 12'h0A8; |
rommem[13215] <= 12'h0B7; |
rommem[13216] <= 12'h000; |
rommem[13217] <= 12'h90F; |
rommem[13218] <= 12'h07F; |
rommem[13219] <= 12'h000; |
rommem[13220] <= 12'h90A; |
rommem[13221] <= 12'h0CC; |
rommem[13222] <= 12'hFFF; |
rommem[13223] <= 12'h35C; |
rommem[13224] <= 12'h0FD; |
rommem[13225] <= 12'h000; |
rommem[13226] <= 12'h90B; |
rommem[13227] <= 12'h07F; |
rommem[13228] <= 12'h000; |
rommem[13229] <= 12'h902; |
rommem[13230] <= 12'h07F; |
rommem[13231] <= 12'h000; |
rommem[13232] <= 12'h904; |
rommem[13233] <= 12'h07F; |
rommem[13234] <= 12'h000; |
rommem[13235] <= 12'h906; |
rommem[13236] <= 12'h0CC; |
rommem[13237] <= 12'h12D; |
rommem[13238] <= 12'h687; |
rommem[13239] <= 12'h0FD; |
rommem[13240] <= 12'h000; |
rommem[13241] <= 12'h92C; |
rommem[13242] <= 12'h032; |
rommem[13243] <= 12'h80F; |
rommem[13244] <= 12'h006; |
rommem[13245] <= 12'hFFF; |
rommem[13246] <= 12'h05F; |
rommem[13247] <= 12'h017; |
rommem[13248] <= 12'hFFF; |
rommem[13249] <= 12'hE0B; |
rommem[13250] <= 12'h0CC; |
rommem[13251] <= 12'hFFE; |
rommem[13252] <= 12'hC73; |
rommem[13253] <= 12'h0FD; |
rommem[13254] <= 12'h000; |
rommem[13255] <= 12'h804; |
rommem[13256] <= 12'h0CC; |
rommem[13257] <= 12'hFFE; |
rommem[13258] <= 12'h31C; |
rommem[13259] <= 12'h0FD; |
rommem[13260] <= 12'h000; |
rommem[13261] <= 12'h800; |
rommem[13262] <= 12'h0CC; |
rommem[13263] <= 12'hFFF; |
rommem[13264] <= 12'h32C; |
rommem[13265] <= 12'h0FD; |
rommem[13266] <= 12'h000; |
rommem[13267] <= 12'h808; |
rommem[13268] <= 12'h0AD; |
rommem[13269] <= 12'h90F; |
rommem[13270] <= 12'h000; |
rommem[13271] <= 12'h808; |
rommem[13272] <= 12'h0CC; |
rommem[13273] <= 12'hFFF; |
rommem[13274] <= 12'hFFF; |
rommem[13275] <= 12'h017; |
rommem[13276] <= 12'hFFF; |
rommem[13277] <= 12'hDB3; |
rommem[13278] <= 12'h04D; |
rommem[13279] <= 12'h02B; |
rommem[13280] <= 12'hFF7; |
rommem[13281] <= 12'h0C1; |
rommem[13282] <= 12'h00D; |
rommem[13283] <= 12'h027; |
rommem[13284] <= 12'h005; |
rommem[13285] <= 12'h017; |
rommem[13286] <= 12'hFFF; |
rommem[13287] <= 12'hDE1; |
rommem[13288] <= 12'h020; |
rommem[13289] <= 12'hFEE; |
rommem[13290] <= 12'h0CC; |
rommem[13291] <= 12'h005; |
rommem[13292] <= 12'h050; |
rommem[13293] <= 12'h015; |
rommem[13294] <= 12'h0FD; |
rommem[13295] <= 12'hFFF; |
rommem[13296] <= 12'hE60; |
rommem[13297] <= 12'h001; |
rommem[13298] <= 12'h00F; |
rommem[13299] <= 12'h111; |
rommem[13300] <= 12'h017; |
rommem[13301] <= 12'hFFE; |
rommem[13302] <= 12'hEFE; |
rommem[13303] <= 12'h01F; |
rommem[13304] <= 12'h002; |
rommem[13305] <= 12'h08D; |
rommem[13306] <= 12'h067; |
rommem[13307] <= 12'h0C1; |
rommem[13308] <= 12'h024; |
rommem[13309] <= 12'h027; |
rommem[13310] <= 12'hFFA; |
rommem[13311] <= 12'h031; |
rommem[13312] <= 12'h3FF; |
rommem[13313] <= 12'h01F; |
rommem[13314] <= 12'h023; |
rommem[13315] <= 12'h05F; |
rommem[13316] <= 12'h08E; |
rommem[13317] <= 12'hFFF; |
rommem[13318] <= 12'h29A; |
rommem[13319] <= 12'h0A6; |
rommem[13320] <= 12'hA00; |
rommem[13321] <= 12'h06D; |
rommem[13322] <= 12'h804; |
rommem[13323] <= 12'h02B; |
rommem[13324] <= 12'h00F; |
rommem[13325] <= 12'h0A1; |
rommem[13326] <= 12'h800; |
rommem[13327] <= 12'h027; |
rommem[13328] <= 12'hFF6; |
rommem[13329] <= 12'h06D; |
rommem[13330] <= 12'h800; |
rommem[13331] <= 12'h027; |
rommem[13332] <= 12'hF47; |
rommem[13333] <= 12'h02A; |
rommem[13334] <= 12'hFFA; |
rommem[13335] <= 12'h05C; |
rommem[13336] <= 12'h01F; |
rommem[13337] <= 12'h032; |
rommem[13338] <= 12'h020; |
rommem[13339] <= 12'hFEB; |
rommem[13340] <= 12'h0A8; |
rommem[13341] <= 12'h804; |
rommem[13342] <= 12'h048; |
rommem[13343] <= 12'h026; |
rommem[13344] <= 12'hFF0; |
rommem[13345] <= 12'h058; |
rommem[13346] <= 12'h08E; |
rommem[13347] <= 12'hFFF; |
rommem[13348] <= 12'h2EC; |
rommem[13349] <= 12'h06E; |
rommem[13350] <= 12'h905; |
rommem[13351] <= 12'h08D; |
rommem[13352] <= 12'h034; |
rommem[13353] <= 12'h0C1; |
rommem[13354] <= 12'h073; |
rommem[13355] <= 12'h026; |
rommem[13356] <= 12'h00E; |
rommem[13357] <= 12'h0CC; |
rommem[13358] <= 12'hFFE; |
rommem[13359] <= 12'hC73; |
rommem[13360] <= 12'h0FD; |
rommem[13361] <= 12'h000; |
rommem[13362] <= 12'h804; |
rommem[13363] <= 12'h0CC; |
rommem[13364] <= 12'hFFE; |
rommem[13365] <= 12'hC9A; |
rommem[13366] <= 12'h0FD; |
rommem[13367] <= 12'h000; |
rommem[13368] <= 12'h800; |
rommem[13369] <= 12'h020; |
rommem[13370] <= 12'hF21; |
rommem[13371] <= 12'h0C1; |
rommem[13372] <= 12'h063; |
rommem[13373] <= 12'h026; |
rommem[13374] <= 12'hF1D; |
rommem[13375] <= 12'h0CC; |
rommem[13376] <= 12'hFFE; |
rommem[13377] <= 12'hA92; |
rommem[13378] <= 12'h0FD; |
rommem[13379] <= 12'h000; |
rommem[13380] <= 12'h804; |
rommem[13381] <= 12'h0CC; |
rommem[13382] <= 12'hFFE; |
rommem[13383] <= 12'h31C; |
rommem[13384] <= 12'h0FD; |
rommem[13385] <= 12'h000; |
rommem[13386] <= 12'h800; |
rommem[13387] <= 12'h020; |
rommem[13388] <= 12'h020; |
rommem[13389] <= 12'h020; |
rommem[13390] <= 12'h058; |
rommem[13391] <= 12'h020; |
rommem[13392] <= 12'h020; |
rommem[13393] <= 12'h020; |
rommem[13394] <= 12'h020; |
rommem[13388] <= 12'hF0F; |
rommem[13389] <= 12'h0CC; |
rommem[13390] <= 12'hFFF; |
rommem[13391] <= 12'h5FE; |
rommem[13392] <= 12'h017; |
rommem[13393] <= 12'hFFE; |
rommem[13394] <= 12'hF8A; |
rommem[13395] <= 12'h020; |
rommem[13396] <= 12'h020; |
rommem[13397] <= 12'h059; |
rommem[13398] <= 12'h020; |
rommem[13399] <= 12'h020; |
rommem[13400] <= 12'h020; |
rommem[13401] <= 12'h020; |
rommem[13402] <= 12'h020; |
rommem[13396] <= 12'hF07; |
rommem[13397] <= 12'h017; |
rommem[13398] <= 12'hFFE; |
rommem[13399] <= 12'hDE4; |
rommem[13400] <= 12'h017; |
rommem[13401] <= 12'hFFE; |
rommem[13402] <= 12'hE58; |
rommem[13403] <= 12'h020; |
rommem[13404] <= 12'h055; |
rommem[13405] <= 12'h020; |
rommem[13406] <= 12'h020; |
rommem[13407] <= 12'h020; |
rommem[13408] <= 12'h020; |
rommem[13409] <= 12'h020; |
rommem[13410] <= 12'h020; |
rommem[13411] <= 12'h053; |
rommem[13412] <= 12'h020; |
rommem[13404] <= 12'hEFF; |
rommem[13405] <= 12'h0E6; |
rommem[13406] <= 12'hA04; |
rommem[13407] <= 12'h031; |
rommem[13408] <= 12'h201; |
rommem[13409] <= 12'h039; |
rommem[13410] <= 12'h08D; |
rommem[13411] <= 12'hFF9; |
rommem[13412] <= 12'h0C1; |
rommem[13413] <= 12'h020; |
rommem[13414] <= 12'h020; |
rommem[13415] <= 12'h020; |
rommem[13416] <= 12'h020; |
rommem[13417] <= 12'h020; |
rommem[13418] <= 12'h020; |
rommem[13419] <= 12'h050; |
rommem[13420] <= 12'h043; |
rommem[13421] <= 12'h020; |
rommem[13422] <= 12'h020; |
rommem[13423] <= 12'h020; |
rommem[13424] <= 12'h020; |
rommem[13425] <= 12'h044; |
rommem[13426] <= 12'h050; |
rommem[13427] <= 12'h020; |
rommem[13428] <= 12'h020; |
rommem[13429] <= 12'h043; |
rommem[13430] <= 12'h043; |
rommem[13431] <= 12'h052; |
rommem[13432] <= 12'h00D; |
rommem[13433] <= 12'h00A; |
rommem[13434] <= 12'h000; |
rommem[13435] <= 12'h0BD; |
rommem[13436] <= 12'hFFD; |
rommem[13437] <= 12'h2D2; |
rommem[13438] <= 12'h039; |
rommem[13439] <= 12'h0C6; |
rommem[13440] <= 12'h020; |
rommem[13441] <= 12'h016; |
rommem[13442] <= 12'hFFF; |
rommem[13443] <= 12'hA5D; |
rommem[13444] <= 12'h08D; |
rommem[13445] <= 12'hD1D; |
rommem[13446] <= 12'h18E; |
rommem[13447] <= 12'h000; |
rommem[13448] <= 12'h000; |
rommem[13449] <= 12'h1BE; |
rommem[13450] <= 12'h000; |
rommem[13451] <= 12'h922; |
rommem[13452] <= 12'h017; |
rommem[13453] <= 12'hFFD; |
rommem[13454] <= 12'hC43; |
rommem[13455] <= 12'h0C6; |
rommem[13456] <= 12'h03A; |
rommem[13457] <= 12'h017; |
rommem[13458] <= 12'hFFF; |
rommem[13459] <= 12'hA4D; |
rommem[13460] <= 12'h01F; |
rommem[13461] <= 12'h020; |
rommem[13462] <= 12'h017; |
rommem[13463] <= 12'hFFE; |
rommem[13464] <= 12'hF95; |
rommem[13465] <= 12'h0C6; |
rommem[13466] <= 12'h020; |
rommem[13467] <= 12'h017; |
rommem[13468] <= 12'hFFF; |
rommem[13469] <= 12'hA43; |
rommem[13470] <= 12'h08E; |
rommem[13414] <= 12'h027; |
rommem[13415] <= 12'hFFA; |
rommem[13416] <= 12'h039; |
rommem[13417] <= 12'h017; |
rommem[13418] <= 12'h000; |
rommem[13419] <= 12'h6D5; |
rommem[13420] <= 12'h0C6; |
rommem[13421] <= 12'hFFF; |
rommem[13422] <= 12'h0F7; |
rommem[13423] <= 12'h000; |
rommem[13424] <= 12'h810; |
rommem[13425] <= 12'h016; |
rommem[13426] <= 12'hFFF; |
rommem[13427] <= 12'hEE8; |
rommem[13428] <= 12'h017; |
rommem[13429] <= 12'h000; |
rommem[13430] <= 12'h700; |
rommem[13431] <= 12'h016; |
rommem[13432] <= 12'hFFF; |
rommem[13433] <= 12'hEE2; |
rommem[13434] <= 12'h08D; |
rommem[13435] <= 12'hFE1; |
rommem[13436] <= 12'h0C1; |
rommem[13437] <= 12'h020; |
rommem[13438] <= 12'h027; |
rommem[13439] <= 12'hFFA; |
rommem[13440] <= 12'h031; |
rommem[13441] <= 12'h3FF; |
rommem[13442] <= 12'h039; |
rommem[13443] <= 12'h034; |
rommem[13444] <= 12'h006; |
rommem[13445] <= 12'h0FC; |
rommem[13446] <= 12'h000; |
rommem[13447] <= 12'h910; |
rommem[13448] <= 12'h0FD; |
rommem[13449] <= 12'h000; |
rommem[13450] <= 12'h918; |
rommem[13451] <= 12'h0FC; |
rommem[13452] <= 12'h000; |
rommem[13453] <= 12'h912; |
rommem[13454] <= 12'h0FD; |
rommem[13455] <= 12'h000; |
rommem[13456] <= 12'h91A; |
rommem[13457] <= 12'h08D; |
rommem[13458] <= 12'h05B; |
rommem[13459] <= 12'h08D; |
rommem[13460] <= 12'h059; |
rommem[13461] <= 12'h0FC; |
rommem[13462] <= 12'h000; |
rommem[13463] <= 12'h912; |
rommem[13464] <= 12'h0F3; |
rommem[13465] <= 12'h000; |
rommem[13466] <= 12'h91A; |
rommem[13467] <= 12'h0F6; |
rommem[13468] <= 12'h000; |
rommem[13469] <= 12'h911; |
rommem[13470] <= 12'h0F9; |
rommem[13471] <= 12'h000; |
rommem[13472] <= 12'h008; |
rommem[13473] <= 12'h0E6; |
rommem[13474] <= 12'hA04; |
rommem[13475] <= 12'h031; |
rommem[13476] <= 12'h201; |
rommem[13477] <= 12'h017; |
rommem[13478] <= 12'hFFE; |
rommem[13479] <= 12'hF8F; |
rommem[13480] <= 12'h0C6; |
rommem[13481] <= 12'h020; |
rommem[13482] <= 12'h017; |
rommem[13483] <= 12'hFFF; |
rommem[13484] <= 12'hA34; |
rommem[13485] <= 12'h05F; |
rommem[13486] <= 12'h04F; |
rommem[13487] <= 12'h017; |
rommem[13488] <= 12'hFFF; |
rommem[13489] <= 12'h9F7; |
rommem[13490] <= 12'h0C1; |
rommem[13491] <= 12'h003; |
rommem[13492] <= 12'h027; |
rommem[13493] <= 12'h024; |
rommem[13494] <= 12'h030; |
rommem[13495] <= 12'h1FF; |
rommem[13496] <= 12'h026; |
rommem[13497] <= 12'hFE7; |
rommem[13498] <= 12'h0C6; |
rommem[13499] <= 12'h020; |
rommem[13500] <= 12'h017; |
rommem[13501] <= 12'hFFF; |
rommem[13502] <= 12'hA22; |
rommem[13503] <= 12'h08E; |
rommem[13504] <= 12'h000; |
rommem[13505] <= 12'h008; |
rommem[13506] <= 12'h031; |
rommem[13507] <= 12'h3F8; |
rommem[13508] <= 12'h0E6; |
rommem[13509] <= 12'hA04; |
rommem[13510] <= 12'h0C1; |
rommem[13511] <= 12'h020; |
rommem[13512] <= 12'h024; |
rommem[13513] <= 12'h002; |
rommem[13514] <= 12'h0C6; |
rommem[13515] <= 12'h02E; |
rommem[13516] <= 12'h017; |
rommem[13517] <= 12'hFFF; |
rommem[13518] <= 12'hA12; |
rommem[13519] <= 12'h031; |
rommem[13520] <= 12'h201; |
rommem[13521] <= 12'h030; |
rommem[13522] <= 12'h1FF; |
rommem[13523] <= 12'h026; |
rommem[13524] <= 12'hFEF; |
rommem[13525] <= 12'h1BC; |
rommem[13526] <= 12'h000; |
rommem[13527] <= 12'h926; |
rommem[13528] <= 12'h025; |
rommem[13529] <= 12'hFB2; |
rommem[13530] <= 12'h017; |
rommem[13531] <= 12'hFFD; |
rommem[13532] <= 12'hBF5; |
rommem[13533] <= 12'h016; |
rommem[13534] <= 12'hFFF; |
rommem[13535] <= 12'hB59; |
rommem[13536] <= 12'h0CE; |
rommem[13472] <= 12'h919; |
rommem[13473] <= 12'h0F7; |
rommem[13474] <= 12'h000; |
rommem[13475] <= 12'h911; |
rommem[13476] <= 12'h0B6; |
rommem[13477] <= 12'h000; |
rommem[13478] <= 12'h910; |
rommem[13479] <= 12'h0B9; |
rommem[13480] <= 12'h000; |
rommem[13481] <= 12'h918; |
rommem[13482] <= 12'h0B7; |
rommem[13483] <= 12'h000; |
rommem[13484] <= 12'h910; |
rommem[13485] <= 12'h08D; |
rommem[13486] <= 12'h03F; |
rommem[13487] <= 12'h035; |
rommem[13488] <= 12'h086; |
rommem[13489] <= 12'h08D; |
rommem[13490] <= 12'hFC7; |
rommem[13491] <= 12'h08D; |
rommem[13492] <= 12'h0DC; |
rommem[13493] <= 12'h0FC; |
rommem[13494] <= 12'h000; |
rommem[13495] <= 12'h910; |
rommem[13496] <= 12'h0FD; |
rommem[13497] <= 12'h000; |
rommem[13498] <= 12'h920; |
rommem[13499] <= 12'h0FC; |
rommem[13500] <= 12'h000; |
rommem[13501] <= 12'h912; |
rommem[13502] <= 12'h0FD; |
rommem[13503] <= 12'h000; |
rommem[13504] <= 12'h922; |
rommem[13505] <= 12'h08D; |
rommem[13506] <= 12'hFB7; |
rommem[13507] <= 12'h08D; |
rommem[13508] <= 12'h0CC; |
rommem[13509] <= 12'h0FC; |
rommem[13510] <= 12'h000; |
rommem[13511] <= 12'h910; |
rommem[13512] <= 12'h0FD; |
rommem[13513] <= 12'h000; |
rommem[13514] <= 12'h924; |
rommem[13515] <= 12'h0FC; |
rommem[13516] <= 12'h000; |
rommem[13517] <= 12'h912; |
rommem[13518] <= 12'h0FD; |
rommem[13519] <= 12'h000; |
rommem[13520] <= 12'h926; |
rommem[13521] <= 12'h039; |
rommem[13522] <= 12'h08D; |
rommem[13523] <= 12'hFDD; |
rommem[13524] <= 12'h0FC; |
rommem[13525] <= 12'h000; |
rommem[13526] <= 12'h926; |
rommem[13527] <= 12'h0B3; |
rommem[13528] <= 12'h000; |
rommem[13529] <= 12'h922; |
rommem[13530] <= 12'h0FC; |
rommem[13531] <= 12'h000; |
rommem[13532] <= 12'h924; |
rommem[13533] <= 12'h0F2; |
rommem[13534] <= 12'h000; |
rommem[13535] <= 12'h921; |
rommem[13536] <= 12'h0B2; |
rommem[13537] <= 12'h000; |
rommem[13538] <= 12'h008; |
rommem[13539] <= 12'h017; |
rommem[13540] <= 12'hFFF; |
rommem[13541] <= 12'hCE6; |
rommem[13542] <= 12'h0BE; |
rommem[13543] <= 12'h000; |
rommem[13544] <= 12'h912; |
rommem[13545] <= 12'h017; |
rommem[13546] <= 12'hFFF; |
rommem[13547] <= 12'hC5F; |
rommem[13548] <= 12'h017; |
rommem[13549] <= 12'hFFF; |
rommem[13550] <= 12'hCDD; |
rommem[13551] <= 12'h05D; |
rommem[13552] <= 12'h027; |
rommem[13553] <= 12'h00C; |
rommem[13554] <= 12'h0F6; |
rommem[13555] <= 12'h000; |
rommem[13556] <= 12'h913; |
rommem[13557] <= 12'h0E7; |
rommem[13558] <= 12'h800; |
rommem[13559] <= 12'h033; |
rommem[13560] <= 12'h5FF; |
rommem[13561] <= 12'h283; |
rommem[13562] <= 12'h000; |
rommem[13563] <= 12'h000; |
rommem[13564] <= 12'h026; |
rommem[13565] <= 12'hFEB; |
rommem[13566] <= 12'h017; |
rommem[13567] <= 12'hFFF; |
rommem[13568] <= 12'hC2D; |
rommem[13569] <= 12'h0C1; |
rommem[13570] <= 12'h022; |
rommem[13571] <= 12'h026; |
rommem[13572] <= 12'h018; |
rommem[13573] <= 12'h0CE; |
rommem[13538] <= 12'h920; |
rommem[13539] <= 12'h124; |
rommem[13540] <= 12'h000; |
rommem[13541] <= 12'h007; |
rommem[13542] <= 12'h0AD; |
rommem[13543] <= 12'h90F; |
rommem[13544] <= 12'h000; |
rommem[13545] <= 12'h80C; |
rommem[13546] <= 12'h016; |
rommem[13547] <= 12'hFFF; |
rommem[13548] <= 12'hE6F; |
rommem[13549] <= 12'h039; |
rommem[13550] <= 12'h078; |
rommem[13551] <= 12'h000; |
rommem[13552] <= 12'h913; |
rommem[13553] <= 12'h079; |
rommem[13554] <= 12'h000; |
rommem[13555] <= 12'h912; |
rommem[13556] <= 12'h079; |
rommem[13557] <= 12'h000; |
rommem[13558] <= 12'h911; |
rommem[13559] <= 12'h079; |
rommem[13560] <= 12'h000; |
rommem[13561] <= 12'h910; |
rommem[13562] <= 12'h039; |
rommem[13563] <= 12'h04F; |
rommem[13564] <= 12'h05F; |
rommem[13565] <= 12'h0FD; |
rommem[13566] <= 12'h000; |
rommem[13567] <= 12'h910; |
rommem[13568] <= 12'h0FD; |
rommem[13569] <= 12'h000; |
rommem[13570] <= 12'h912; |
rommem[13571] <= 12'h034; |
rommem[13572] <= 12'h010; |
rommem[13573] <= 12'h08E; |
rommem[13574] <= 12'h000; |
rommem[13575] <= 12'h028; |
rommem[13576] <= 12'h017; |
rommem[13577] <= 12'hFFF; |
rommem[13578] <= 12'hC23; |
rommem[13579] <= 12'h0C1; |
rommem[13580] <= 12'h022; |
rommem[13581] <= 12'h026; |
rommem[13582] <= 12'h005; |
rommem[13583] <= 12'h0CE; |
rommem[13584] <= 12'h000; |
rommem[13585] <= 12'h008; |
rommem[13586] <= 12'h020; |
rommem[13587] <= 12'hFD5; |
rommem[13588] <= 12'h0E7; |
rommem[13589] <= 12'h800; |
rommem[13590] <= 12'h033; |
rommem[13591] <= 12'h5FF; |
rommem[13592] <= 12'h283; |
rommem[13593] <= 12'h000; |
rommem[13594] <= 12'h000; |
rommem[13595] <= 12'h022; |
rommem[13596] <= 12'hFEB; |
rommem[13597] <= 12'h016; |
rommem[13598] <= 12'hFFF; |
rommem[13599] <= 12'hB19; |
rommem[13600] <= 12'h017; |
rommem[13601] <= 12'hFFF; |
rommem[13602] <= 12'hC80; |
rommem[13603] <= 12'h017; |
rommem[13604] <= 12'hFFF; |
rommem[13605] <= 12'hC25; |
rommem[13606] <= 12'h017; |
rommem[13607] <= 12'hFFF; |
rommem[13608] <= 12'hCA3; |
rommem[13609] <= 12'h0F6; |
rommem[13610] <= 12'h000; |
rommem[13611] <= 12'h913; |
rommem[13612] <= 12'h0BE; |
rommem[13613] <= 12'h000; |
rommem[13614] <= 12'h922; |
rommem[13615] <= 12'h04F; |
rommem[13616] <= 12'h04D; |
rommem[13617] <= 12'h026; |
rommem[13618] <= 12'h00D; |
rommem[13619] <= 12'h05F; |
rommem[13620] <= 12'h04F; |
rommem[13621] <= 12'h017; |
rommem[13622] <= 12'hFFF; |
rommem[13623] <= 12'h971; |
rommem[13624] <= 12'h0C1; |
rommem[13625] <= 12'h003; |
rommem[13626] <= 12'h127; |
rommem[13627] <= 12'hFFF; |
rommem[13628] <= 12'hAFC; |
rommem[13629] <= 12'h0F6; |
rommem[13630] <= 12'h000; |
rommem[13631] <= 12'h913; |
rommem[13632] <= 12'h0E7; |
rommem[13633] <= 12'h800; |
rommem[13634] <= 12'h0BC; |
rommem[13635] <= 12'h000; |
rommem[13636] <= 12'h926; |
rommem[13637] <= 12'h023; |
rommem[13638] <= 12'hFE9; |
rommem[13639] <= 12'h016; |
rommem[13640] <= 12'hFFF; |
rommem[13641] <= 12'hAEF; |
rommem[13642] <= 12'h0CC; |
rommem[13643] <= 12'hFFF; |
rommem[13644] <= 12'h441; |
rommem[13645] <= 12'h017; |
rommem[13646] <= 12'hFFE; |
rommem[13647] <= 12'hE8A; |
rommem[13648] <= 12'h08D; |
rommem[13649] <= 12'hF2D; |
rommem[13650] <= 12'h0FC; |
rommem[13651] <= 12'h000; |
rommem[13652] <= 12'h900; |
rommem[13653] <= 12'h08D; |
rommem[13654] <= 12'hF24; |
rommem[13655] <= 12'h08D; |
rommem[13656] <= 12'hF26; |
rommem[13657] <= 12'h0FC; |
rommem[13658] <= 12'h000; |
rommem[13659] <= 12'h902; |
rommem[13660] <= 12'h08D; |
rommem[13661] <= 12'hF1D; |
rommem[13662] <= 12'h08D; |
rommem[13663] <= 12'hF1F; |
rommem[13664] <= 12'h0FC; |
rommem[13665] <= 12'h000; |
rommem[13666] <= 12'h904; |
rommem[13667] <= 12'h08D; |
rommem[13668] <= 12'hF16; |
rommem[13669] <= 12'h08D; |
rommem[13670] <= 12'hF18; |
rommem[13671] <= 12'h0FC; |
rommem[13672] <= 12'h000; |
rommem[13673] <= 12'h906; |
rommem[13674] <= 12'h08D; |
rommem[13675] <= 12'hF0F; |
rommem[13676] <= 12'h08D; |
rommem[13677] <= 12'hF11; |
rommem[13678] <= 12'h0FC; |
rommem[13575] <= 12'h000; |
rommem[13576] <= 12'h08D; |
rommem[13577] <= 12'hF53; |
rommem[13578] <= 12'h08D; |
rommem[13579] <= 12'h093; |
rommem[13580] <= 12'h0C1; |
rommem[13581] <= 12'hFFF; |
rommem[13582] <= 12'h027; |
rommem[13583] <= 12'h017; |
rommem[13584] <= 12'h08D; |
rommem[13585] <= 12'hFDC; |
rommem[13586] <= 12'h08D; |
rommem[13587] <= 12'hFDA; |
rommem[13588] <= 12'h08D; |
rommem[13589] <= 12'hFD8; |
rommem[13590] <= 12'h08D; |
rommem[13591] <= 12'hFD6; |
rommem[13592] <= 12'h0C4; |
rommem[13593] <= 12'h00F; |
rommem[13594] <= 12'h0FA; |
rommem[13595] <= 12'h000; |
rommem[13596] <= 12'h913; |
rommem[13597] <= 12'h0F7; |
rommem[13598] <= 12'h000; |
rommem[13599] <= 12'h913; |
rommem[13600] <= 12'h030; |
rommem[13601] <= 12'h001; |
rommem[13602] <= 12'h08C; |
rommem[13603] <= 12'h000; |
rommem[13604] <= 12'h00C; |
rommem[13605] <= 12'h025; |
rommem[13606] <= 12'hFE1; |
rommem[13607] <= 12'h01F; |
rommem[13608] <= 12'h010; |
rommem[13609] <= 12'h035; |
rommem[13610] <= 12'h090; |
rommem[13611] <= 12'h04F; |
rommem[13612] <= 12'h05F; |
rommem[13613] <= 12'h0FD; |
rommem[13614] <= 12'h000; |
rommem[13615] <= 12'h910; |
rommem[13616] <= 12'h0FD; |
rommem[13617] <= 12'h000; |
rommem[13618] <= 12'h912; |
rommem[13619] <= 12'h034; |
rommem[13620] <= 12'h010; |
rommem[13621] <= 12'h08E; |
rommem[13622] <= 12'h000; |
rommem[13623] <= 12'h000; |
rommem[13624] <= 12'h08D; |
rommem[13625] <= 12'hF23; |
rommem[13626] <= 12'h08D; |
rommem[13627] <= 12'h099; |
rommem[13628] <= 12'h05D; |
rommem[13629] <= 12'h02B; |
rommem[13630] <= 12'h00F; |
rommem[13631] <= 12'h08D; |
rommem[13632] <= 12'hFAD; |
rommem[13633] <= 12'h0FA; |
rommem[13634] <= 12'h000; |
rommem[13635] <= 12'h913; |
rommem[13636] <= 12'h0F7; |
rommem[13637] <= 12'h000; |
rommem[13638] <= 12'h913; |
rommem[13639] <= 12'h030; |
rommem[13640] <= 12'h001; |
rommem[13641] <= 12'h08C; |
rommem[13642] <= 12'h000; |
rommem[13643] <= 12'h030; |
rommem[13644] <= 12'h025; |
rommem[13645] <= 12'hFEA; |
rommem[13646] <= 12'h01F; |
rommem[13647] <= 12'h010; |
rommem[13648] <= 12'h035; |
rommem[13649] <= 12'h090; |
rommem[13650] <= 12'h04F; |
rommem[13651] <= 12'h05F; |
rommem[13652] <= 12'h0FD; |
rommem[13653] <= 12'h000; |
rommem[13654] <= 12'h910; |
rommem[13655] <= 12'h0FD; |
rommem[13656] <= 12'h000; |
rommem[13657] <= 12'h912; |
rommem[13658] <= 12'h034; |
rommem[13659] <= 12'h010; |
rommem[13660] <= 12'h08E; |
rommem[13661] <= 12'h000; |
rommem[13662] <= 12'h000; |
rommem[13663] <= 12'h08D; |
rommem[13664] <= 12'hEFC; |
rommem[13665] <= 12'h08D; |
rommem[13666] <= 12'h064; |
rommem[13667] <= 12'h05D; |
rommem[13668] <= 12'h02B; |
rommem[13669] <= 12'h027; |
rommem[13670] <= 12'h08D; |
rommem[13671] <= 12'hF1B; |
rommem[13672] <= 12'h0FB; |
rommem[13673] <= 12'h000; |
rommem[13674] <= 12'h913; |
rommem[13675] <= 12'h0F7; |
rommem[13676] <= 12'h000; |
rommem[13677] <= 12'h913; |
rommem[13678] <= 12'h0F6; |
rommem[13679] <= 12'h000; |
rommem[13680] <= 12'h908; |
rommem[13681] <= 12'h08D; |
rommem[13682] <= 12'hF08; |
rommem[13683] <= 12'h08D; |
rommem[13684] <= 12'hF0A; |
rommem[13685] <= 12'h0F6; |
rommem[13686] <= 12'h000; |
rommem[13687] <= 12'h90B; |
rommem[13688] <= 12'h017; |
rommem[13689] <= 12'hFFE; |
rommem[13690] <= 12'hEBC; |
rommem[13691] <= 12'h0FC; |
rommem[13680] <= 12'h912; |
rommem[13681] <= 12'h0C9; |
rommem[13682] <= 12'h000; |
rommem[13683] <= 12'h0F7; |
rommem[13684] <= 12'h000; |
rommem[13685] <= 12'h912; |
rommem[13686] <= 12'h0F6; |
rommem[13687] <= 12'h000; |
rommem[13688] <= 12'h911; |
rommem[13689] <= 12'h0C9; |
rommem[13690] <= 12'h000; |
rommem[13691] <= 12'h0F7; |
rommem[13692] <= 12'h000; |
rommem[13693] <= 12'h90C; |
rommem[13694] <= 12'h08D; |
rommem[13695] <= 12'hEFB; |
rommem[13696] <= 12'h08D; |
rommem[13697] <= 12'hEFD; |
rommem[13698] <= 12'h0FC; |
rommem[13699] <= 12'h000; |
rommem[13700] <= 12'h90E; |
rommem[13701] <= 12'h0BD; |
rommem[13702] <= 12'hFFD; |
rommem[13703] <= 12'h2CE; |
rommem[13704] <= 12'h08D; |
rommem[13705] <= 12'hEF5; |
rommem[13706] <= 12'h0B6; |
rommem[13707] <= 12'h000; |
rommem[13708] <= 12'h90F; |
rommem[13709] <= 12'h017; |
rommem[13710] <= 12'hFFD; |
rommem[13711] <= 12'hD3E; |
rommem[13712] <= 12'h08D; |
rommem[13713] <= 12'hEED; |
rommem[13714] <= 12'h016; |
rommem[13715] <= 12'hFFF; |
rommem[13716] <= 12'hAA4; |
rommem[13717] <= 12'h08D; |
rommem[13718] <= 12'hCCB; |
rommem[13719] <= 12'h01A; |
rommem[13720] <= 12'h010; |
rommem[13721] <= 12'h1FE; |
rommem[13722] <= 12'h000; |
rommem[13723] <= 12'h908; |
rommem[13724] <= 12'h0CC; |
rommem[13725] <= 12'hFFF; |
rommem[13726] <= 12'h5D0; |
rommem[13727] <= 12'h034; |
rommem[13728] <= 12'h006; |
rommem[13729] <= 12'h0C6; |
rommem[13730] <= 12'h000; |
rommem[13731] <= 12'h034; |
rommem[13732] <= 12'h004; |
rommem[13733] <= 12'h0FC; |
rommem[13734] <= 12'h000; |
rommem[13735] <= 12'h912; |
rommem[13736] <= 12'h034; |
rommem[13737] <= 12'h006; |
rommem[13738] <= 12'h0F6; |
rommem[13739] <= 12'h000; |
rommem[13740] <= 12'h911; |
rommem[13741] <= 12'h034; |
rommem[13742] <= 12'h004; |
rommem[13743] <= 12'h0FC; |
rommem[13744] <= 12'h000; |
rommem[13745] <= 12'h906; |
rommem[13746] <= 12'h034; |
rommem[13747] <= 12'h006; |
rommem[13748] <= 12'h0FC; |
rommem[13749] <= 12'h000; |
rommem[13750] <= 12'h904; |
rommem[13751] <= 12'h034; |
rommem[13752] <= 12'h006; |
rommem[13753] <= 12'h0FC; |
rommem[13754] <= 12'h000; |
rommem[13755] <= 12'h902; |
rommem[13756] <= 12'h034; |
rommem[13757] <= 12'h006; |
rommem[13758] <= 12'h0B6; |
rommem[13759] <= 12'h000; |
rommem[13760] <= 12'h90E; |
rommem[13761] <= 12'h034; |
rommem[13762] <= 12'h002; |
rommem[13763] <= 12'h0FC; |
rommem[13764] <= 12'h000; |
rommem[13765] <= 12'h900; |
rommem[13766] <= 12'h034; |
rommem[13767] <= 12'h006; |
rommem[13768] <= 12'h0B6; |
rommem[13769] <= 12'h000; |
rommem[13770] <= 12'h90F; |
rommem[13771] <= 12'h034; |
rommem[13772] <= 12'h002; |
rommem[13773] <= 12'h015; |
rommem[13774] <= 12'h035; |
rommem[13775] <= 12'h0FF; |
rommem[13776] <= 12'h1FF; |
rommem[13777] <= 12'h000; |
rommem[13778] <= 12'h908; |
rommem[13779] <= 12'h032; |
rommem[13780] <= 12'h80F; |
rommem[13781] <= 12'h006; |
rommem[13782] <= 12'hFFF; |
rommem[13783] <= 12'h034; |
rommem[13784] <= 12'h001; |
rommem[13785] <= 12'h034; |
rommem[13786] <= 12'h002; |
rommem[13787] <= 12'h01F; |
rommem[13788] <= 12'h0B8; |
rommem[13789] <= 12'h0B7; |
rommem[13790] <= 12'h000; |
rommem[13791] <= 12'h90E; |
rommem[13792] <= 12'h04F; |
rommem[13793] <= 12'h01F; |
rommem[13794] <= 12'h08B; |
rommem[13795] <= 12'h035; |
rommem[13796] <= 12'h002; |
rommem[13797] <= 12'h0FD; |
rommem[13798] <= 12'h000; |
rommem[13799] <= 12'h900; |
rommem[13800] <= 12'h0BF; |
rommem[13801] <= 12'h000; |
rommem[13802] <= 12'h902; |
rommem[13803] <= 12'h1BF; |
rommem[13804] <= 12'h000; |
rommem[13805] <= 12'h904; |
rommem[13806] <= 12'h0FF; |
rommem[13807] <= 12'h000; |
rommem[13808] <= 12'h906; |
rommem[13809] <= 12'h035; |
rommem[13810] <= 12'h002; |
rommem[13811] <= 12'h0B7; |
rommem[13812] <= 12'h000; |
rommem[13813] <= 12'h90F; |
rommem[13814] <= 12'h0CC; |
rommem[13815] <= 12'hFFE; |
rommem[13816] <= 12'hC64; |
rommem[13817] <= 12'h0FD; |
rommem[13818] <= 12'h000; |
rommem[13819] <= 12'h804; |
rommem[13820] <= 12'h0CC; |
rommem[13821] <= 12'hFFE; |
rommem[13822] <= 12'h319; |
rommem[13823] <= 12'h0FD; |
rommem[13824] <= 12'h000; |
rommem[13825] <= 12'h800; |
rommem[13826] <= 12'h0FC; |
rommem[13827] <= 12'hFFF; |
rommem[13828] <= 12'h2B6; |
rommem[13829] <= 12'h0FD; |
rommem[13830] <= 12'h000; |
rommem[13831] <= 12'h80C; |
rommem[13832] <= 12'h016; |
rommem[13833] <= 12'hFFF; |
rommem[13834] <= 12'hF3F; |
rommem[13835] <= 12'h08E; |
rommem[13836] <= 12'h000; |
rommem[13837] <= 12'h000; |
rommem[13838] <= 12'h0E6; |
rommem[13839] <= 12'h80A; |
rommem[13840] <= 12'h000; |
rommem[13841] <= 12'hFFC; |
rommem[13842] <= 12'h000; |
rommem[13843] <= 12'h0C1; |
rommem[13844] <= 12'h018; |
rommem[13845] <= 12'h026; |
rommem[13846] <= 12'h00A; |
rommem[13847] <= 12'h01F; |
rommem[13848] <= 12'h010; |
rommem[13849] <= 12'h017; |
rommem[13850] <= 12'hFFE; |
rommem[13851] <= 12'hE1B; |
rommem[13852] <= 12'h0C6; |
rommem[13853] <= 12'h020; |
rommem[13854] <= 12'h017; |
rommem[13855] <= 12'hFFF; |
rommem[13856] <= 12'h8C0; |
rommem[13857] <= 12'h030; |
rommem[13858] <= 12'h001; |
rommem[13859] <= 12'h08C; |
rommem[13860] <= 12'h000; |
rommem[13861] <= 12'h010; |
rommem[13862] <= 12'h025; |
rommem[13863] <= 12'hFE6; |
rommem[13864] <= 12'h017; |
rommem[13865] <= 12'hFFD; |
rommem[13866] <= 12'hAA7; |
rommem[13867] <= 12'h016; |
rommem[13868] <= 12'hFFF; |
rommem[13869] <= 12'hA0B; |
rommem[13870] <= 12'h000; |
rommem[13871] <= 12'hFFC; |
rommem[13872] <= 12'h0FF; |
rommem[13873] <= 12'h008; |
rommem[13874] <= 12'hFFF; |
rommem[13875] <= 12'h634; |
rommem[13876] <= 12'hFFF; |
rommem[13877] <= 12'h039; |
rommem[13878] <= 12'hFFE; |
rommem[13879] <= 12'hEA9; |
rommem[13880] <= 12'hFFE; |
rommem[13881] <= 12'hEE1; |
rommem[13882] <= 12'hFFD; |
rommem[13883] <= 12'h0D2; |
rommem[13884] <= 12'hFFE; |
rommem[13885] <= 12'h3DA; |
rommem[13886] <= 12'hFFE; |
rommem[13887] <= 12'h437; |
rommem[13888] <= 12'hFFE; |
rommem[13889] <= 12'h42E; |
rommem[13890] <= 12'hFFE; |
rommem[13891] <= 12'hEEB; |
rommem[13892] <= 12'hFFE; |
rommem[13893] <= 12'hF6F; |
rommem[13894] <= 12'hFFE; |
rommem[13895] <= 12'hF9D; |
rommem[13896] <= 12'h000; |
rommem[13897] <= 12'h000; |
rommem[13898] <= 12'hFFF; |
rommem[13899] <= 12'h1A3; |
rommem[13900] <= 12'hFFF; |
rommem[13901] <= 12'h262; |
rommem[13902] <= 12'h000; |
rommem[13903] <= 12'h800; |
rommem[13904] <= 12'h000; |
rommem[13905] <= 12'h000; |
rommem[13906] <= 12'h000; |
rommem[13907] <= 12'h000; |
rommem[13908] <= 12'h000; |
rommem[13909] <= 12'h000; |
rommem[13910] <= 12'h000; |
rommem[13911] <= 12'hC00; |
rommem[13912] <= 12'hC00; |
rommem[13913] <= 12'h000; |
rommem[13914] <= 12'h800; |
rommem[13915] <= 12'h0E6; |
rommem[13916] <= 12'h80C; |
rommem[13917] <= 12'hFD0; |
rommem[13918] <= 12'h01F; |
rommem[13919] <= 12'h09B; |
rommem[13920] <= 12'h0EE; |
rommem[13921] <= 12'h60B; |
rommem[13922] <= 12'h033; |
rommem[13923] <= 12'h5FF; |
rommem[13924] <= 12'h07D; |
rommem[13925] <= 12'h000; |
rommem[13926] <= 12'h810; |
rommem[13927] <= 12'h027; |
rommem[13928] <= 12'h00F; |
rommem[13929] <= 12'h0CE; |
rommem[13930] <= 12'h000; |
rommem[13931] <= 12'h820; |
rommem[13932] <= 12'h0F6; |
rommem[13933] <= 12'h000; |
rommem[13934] <= 12'h811; |
rommem[13935] <= 12'h027; |
rommem[13936] <= 12'h007; |
rommem[13937] <= 12'h2A3; |
rommem[13938] <= 12'hA01; |
rommem[13939] <= 12'h027; |
rommem[13940] <= 12'h04B; |
rommem[13941] <= 12'h05A; |
rommem[13942] <= 12'h026; |
rommem[13943] <= 12'hFF9; |
rommem[13944] <= 12'h07F; |
rommem[13945] <= 12'h000; |
rommem[13946] <= 12'h810; |
rommem[13947] <= 12'h037; |
rommem[13948] <= 12'h006; |
rommem[13949] <= 12'h0C1; |
rommem[13950] <= 12'h00E; |
rommem[13951] <= 12'h122; |
rommem[13952] <= 12'hFFF; |
rommem[13953] <= 12'hC34; |
rommem[13954] <= 12'h0EF; |
rommem[13955] <= 12'h60B; |
rommem[13956] <= 12'h0C1; |
rommem[13957] <= 12'h00A; |
rommem[13958] <= 12'h027; |
rommem[13693] <= 12'h911; |
rommem[13694] <= 12'h0F6; |
rommem[13695] <= 12'h000; |
rommem[13696] <= 12'h910; |
rommem[13697] <= 12'h0C9; |
rommem[13698] <= 12'h000; |
rommem[13699] <= 12'h0F7; |
rommem[13700] <= 12'h000; |
rommem[13701] <= 12'h910; |
rommem[13702] <= 12'h030; |
rommem[13703] <= 12'h001; |
rommem[13704] <= 12'h08C; |
rommem[13705] <= 12'h000; |
rommem[13706] <= 12'h00F; |
rommem[13707] <= 12'h025; |
rommem[13708] <= 12'hFD2; |
rommem[13709] <= 12'h01F; |
rommem[13710] <= 12'h010; |
rommem[13711] <= 12'h035; |
rommem[13712] <= 12'h090; |
rommem[13713] <= 12'h08D; |
rommem[13714] <= 12'hECA; |
rommem[13715] <= 12'h0C1; |
rommem[13716] <= 12'h02B; |
rommem[13717] <= 12'h027; |
rommem[13718] <= 12'hFBB; |
rommem[13719] <= 12'h0C1; |
rommem[13720] <= 12'h025; |
rommem[13721] <= 12'h027; |
rommem[13722] <= 12'hF90; |
rommem[13723] <= 12'h031; |
rommem[13724] <= 12'h3FF; |
rommem[13725] <= 12'h020; |
rommem[13726] <= 12'hF5C; |
rommem[13727] <= 12'h0C1; |
rommem[13728] <= 12'h030; |
rommem[13729] <= 12'h025; |
rommem[13730] <= 12'h021; |
rommem[13731] <= 12'h0C1; |
rommem[13732] <= 12'h039; |
rommem[13733] <= 12'h022; |
rommem[13734] <= 12'h003; |
rommem[13735] <= 12'h0C0; |
rommem[13736] <= 12'h030; |
rommem[13737] <= 12'h039; |
rommem[13738] <= 12'h0C1; |
rommem[13739] <= 12'h041; |
rommem[13740] <= 12'h025; |
rommem[13741] <= 12'h016; |
rommem[13742] <= 12'h0C1; |
rommem[13743] <= 12'h046; |
rommem[13744] <= 12'h022; |
rommem[13745] <= 12'h005; |
rommem[13746] <= 12'h0C0; |
rommem[13747] <= 12'h041; |
rommem[13748] <= 12'h0CB; |
rommem[13749] <= 12'h00A; |
rommem[13750] <= 12'h039; |
rommem[13751] <= 12'h0C1; |
rommem[13752] <= 12'h061; |
rommem[13753] <= 12'h025; |
rommem[13754] <= 12'h009; |
rommem[13755] <= 12'h0C1; |
rommem[13756] <= 12'h07A; |
rommem[13757] <= 12'h022; |
rommem[13758] <= 12'h005; |
rommem[13759] <= 12'h0C0; |
rommem[13760] <= 12'h061; |
rommem[13761] <= 12'h0CB; |
rommem[13762] <= 12'h00A; |
rommem[13763] <= 12'h039; |
rommem[13764] <= 12'h0C6; |
rommem[13765] <= 12'hFFF; |
rommem[13766] <= 12'h039; |
rommem[13767] <= 12'h0C1; |
rommem[13768] <= 12'h030; |
rommem[13769] <= 12'h025; |
rommem[13770] <= 12'h007; |
rommem[13771] <= 12'h0C1; |
rommem[13772] <= 12'h039; |
rommem[13773] <= 12'h022; |
rommem[13774] <= 12'h003; |
rommem[13775] <= 12'h0C0; |
rommem[13776] <= 12'h030; |
rommem[13777] <= 12'h039; |
rommem[13778] <= 12'h0C6; |
rommem[13779] <= 12'hFFF; |
rommem[13780] <= 12'h039; |
rommem[13781] <= 12'h0C1; |
rommem[13782] <= 12'h030; |
rommem[13783] <= 12'h026; |
rommem[13784] <= 12'h002; |
rommem[13785] <= 12'h05F; |
rommem[13786] <= 12'h039; |
rommem[13787] <= 12'h0C1; |
rommem[13788] <= 12'h031; |
rommem[13789] <= 12'h026; |
rommem[13790] <= 12'h003; |
rommem[13791] <= 12'h0C6; |
rommem[13792] <= 12'h001; |
rommem[13793] <= 12'h039; |
rommem[13794] <= 12'h0C6; |
rommem[13795] <= 12'hFFF; |
rommem[13796] <= 12'h039; |
rommem[13797] <= 12'h0CC; |
rommem[13798] <= 12'hFFF; |
rommem[13799] <= 12'h5F6; |
rommem[13800] <= 12'h017; |
rommem[13801] <= 12'hFFE; |
rommem[13802] <= 12'hDF2; |
rommem[13803] <= 12'h07E; |
rommem[13804] <= 12'hFFF; |
rommem[13805] <= 12'h35C; |
rommem[13806] <= 12'h0DD; |
rommem[13807] <= 12'h024; |
rommem[13808] <= 12'h09F; |
rommem[13809] <= 12'h026; |
rommem[13810] <= 12'h0BD; |
rommem[13811] <= 12'hFFE; |
rommem[13812] <= 12'h3DD; |
rommem[13813] <= 12'h039; |
rommem[13814] <= 12'h02A; |
rommem[13815] <= 12'h02A; |
rommem[13816] <= 12'h045; |
rommem[13817] <= 12'h072; |
rommem[13818] <= 12'h072; |
rommem[13819] <= 12'h00D; |
rommem[13820] <= 12'h00A; |
rommem[13821] <= 12'h000; |
rommem[13822] <= 12'h03F; |
rommem[13823] <= 12'h020; |
rommem[13824] <= 12'h03D; |
rommem[13825] <= 12'h020; |
rommem[13826] <= 12'h044; |
rommem[13827] <= 12'h069; |
rommem[13828] <= 12'h073; |
rommem[13829] <= 12'h070; |
rommem[13830] <= 12'h06C; |
rommem[13831] <= 12'h061; |
rommem[13832] <= 12'h079; |
rommem[13833] <= 12'h020; |
rommem[13834] <= 12'h068; |
rommem[13835] <= 12'h065; |
rommem[13836] <= 12'h06C; |
rommem[13837] <= 12'h070; |
rommem[13838] <= 12'h00D; |
rommem[13839] <= 12'h00A; |
rommem[13840] <= 12'h043; |
rommem[13841] <= 12'h04C; |
rommem[13842] <= 12'h053; |
rommem[13843] <= 12'h020; |
rommem[13844] <= 12'h03D; |
rommem[13845] <= 12'h020; |
rommem[13846] <= 12'h063; |
rommem[13847] <= 12'h06C; |
rommem[13848] <= 12'h065; |
rommem[13849] <= 12'h061; |
rommem[13850] <= 12'h072; |
rommem[13851] <= 12'h020; |
rommem[13852] <= 12'h073; |
rommem[13853] <= 12'h063; |
rommem[13854] <= 12'h072; |
rommem[13855] <= 12'h065; |
rommem[13856] <= 12'h065; |
rommem[13857] <= 12'h06E; |
rommem[13858] <= 12'h00D; |
rommem[13859] <= 12'h00A; |
rommem[13860] <= 12'h062; |
rommem[13861] <= 12'h02B; |
rommem[13862] <= 12'h020; |
rommem[13863] <= 12'h03D; |
rommem[13864] <= 12'h020; |
rommem[13865] <= 12'h073; |
rommem[13866] <= 12'h065; |
rommem[13867] <= 12'h074; |
rommem[13868] <= 12'h020; |
rommem[13869] <= 12'h062; |
rommem[13870] <= 12'h072; |
rommem[13871] <= 12'h065; |
rommem[13872] <= 12'h061; |
rommem[13873] <= 12'h06B; |
rommem[13874] <= 12'h070; |
rommem[13875] <= 12'h06F; |
rommem[13876] <= 12'h069; |
rommem[13877] <= 12'h06E; |
rommem[13878] <= 12'h074; |
rommem[13879] <= 12'h00D; |
rommem[13880] <= 12'h00A; |
rommem[13881] <= 12'h062; |
rommem[13882] <= 12'h02D; |
rommem[13883] <= 12'h020; |
rommem[13884] <= 12'h03D; |
rommem[13885] <= 12'h020; |
rommem[13886] <= 12'h063; |
rommem[13887] <= 12'h06C; |
rommem[13888] <= 12'h065; |
rommem[13889] <= 12'h061; |
rommem[13890] <= 12'h072; |
rommem[13891] <= 12'h020; |
rommem[13892] <= 12'h062; |
rommem[13893] <= 12'h072; |
rommem[13894] <= 12'h065; |
rommem[13895] <= 12'h061; |
rommem[13896] <= 12'h06B; |
rommem[13897] <= 12'h070; |
rommem[13898] <= 12'h06F; |
rommem[13899] <= 12'h069; |
rommem[13900] <= 12'h06E; |
rommem[13901] <= 12'h074; |
rommem[13902] <= 12'h00D; |
rommem[13903] <= 12'h00A; |
rommem[13904] <= 12'h03A; |
rommem[13905] <= 12'h020; |
rommem[13906] <= 12'h03D; |
rommem[13907] <= 12'h020; |
rommem[13908] <= 12'h045; |
rommem[13909] <= 12'h064; |
rommem[13910] <= 12'h069; |
rommem[13911] <= 12'h074; |
rommem[13912] <= 12'h020; |
rommem[13913] <= 12'h06D; |
rommem[13914] <= 12'h065; |
rommem[13915] <= 12'h06D; |
rommem[13916] <= 12'h06F; |
rommem[13917] <= 12'h072; |
rommem[13918] <= 12'h079; |
rommem[13919] <= 12'h020; |
rommem[13920] <= 12'h062; |
rommem[13921] <= 12'h079; |
rommem[13922] <= 12'h074; |
rommem[13923] <= 12'h065; |
rommem[13924] <= 12'h073; |
rommem[13925] <= 12'h00D; |
rommem[13926] <= 12'h00A; |
rommem[13927] <= 12'h044; |
rommem[13928] <= 12'h052; |
rommem[13929] <= 12'h020; |
rommem[13930] <= 12'h03D; |
rommem[13931] <= 12'h020; |
rommem[13932] <= 12'h044; |
rommem[13933] <= 12'h075; |
rommem[13934] <= 12'h06D; |
rommem[13935] <= 12'h070; |
rommem[13936] <= 12'h020; |
rommem[13937] <= 12'h072; |
rommem[13938] <= 12'h065; |
rommem[13939] <= 12'h067; |
rommem[13940] <= 12'h069; |
rommem[13941] <= 12'h073; |
rommem[13942] <= 12'h074; |
rommem[13943] <= 12'h065; |
rommem[13944] <= 12'h072; |
rommem[13945] <= 12'h073; |
rommem[13946] <= 12'h00D; |
rommem[13947] <= 12'h00A; |
rommem[13948] <= 12'h044; |
rommem[13949] <= 12'h020; |
rommem[13950] <= 12'h03D; |
rommem[13951] <= 12'h020; |
rommem[13952] <= 12'h044; |
rommem[13953] <= 12'h075; |
rommem[13954] <= 12'h06D; |
rommem[13955] <= 12'h070; |
rommem[13956] <= 12'h020; |
rommem[13957] <= 12'h06D; |
rommem[13958] <= 12'h065; |
rommem[13959] <= 12'h06D; |
rommem[13960] <= 12'h058; |
rommem[13961] <= 12'h0AE; |
rommem[13962] <= 12'h80C; |
rommem[13963] <= 12'hFA6; |
rommem[13964] <= 12'h03A; |
rommem[13965] <= 12'h0AE; |
rommem[13966] <= 12'h804; |
rommem[13967] <= 12'h0BF; |
rommem[13968] <= 12'h000; |
rommem[13969] <= 12'h928; |
rommem[13970] <= 12'h054; |
rommem[13971] <= 12'h08E; |
rommem[13972] <= 12'hFFF; |
rommem[13973] <= 12'h64E; |
rommem[13974] <= 12'h03A; |
rommem[13975] <= 12'h0E6; |
rommem[13976] <= 12'h804; |
rommem[13977] <= 12'h0F7; |
rommem[13978] <= 12'h000; |
rommem[13979] <= 12'h930; |
rommem[13980] <= 12'h1FF; |
rommem[13981] <= 12'h000; |
rommem[13982] <= 12'h908; |
rommem[13983] <= 12'h0EC; |
rommem[13984] <= 12'h601; |
rommem[13985] <= 12'h0AE; |
rommem[13986] <= 12'h604; |
rommem[13987] <= 12'h1AE; |
rommem[13988] <= 12'h606; |
rommem[13989] <= 12'h0EE; |
rommem[13990] <= 12'h608; |
rommem[13991] <= 12'h1EE; |
rommem[13992] <= 12'h80C; |
rommem[13993] <= 12'hF85; |
rommem[13994] <= 12'h0AD; |
rommem[13995] <= 12'h90F; |
rommem[13996] <= 12'h000; |
rommem[13997] <= 12'h928; |
rommem[13998] <= 12'h1FE; |
rommem[13999] <= 12'h000; |
rommem[14000] <= 12'h908; |
rommem[14001] <= 12'h07D; |
rommem[14002] <= 12'h000; |
rommem[14003] <= 12'h930; |
rommem[14004] <= 12'h02A; |
rommem[14005] <= 12'h009; |
rommem[14006] <= 12'h0ED; |
rommem[14007] <= 12'h601; |
rommem[14008] <= 12'h078; |
rommem[14009] <= 12'h000; |
rommem[14010] <= 12'h930; |
rommem[14011] <= 12'h02A; |
rommem[14012] <= 12'h002; |
rommem[14013] <= 12'h0AF; |
rommem[14014] <= 12'h604; |
rommem[14015] <= 12'h03B; |
rommem[14016] <= 12'h0A6; |
rommem[14017] <= 12'hE04; |
rommem[14018] <= 12'h0B7; |
rommem[14019] <= 12'h000; |
rommem[14020] <= 12'h90F; |
rommem[14021] <= 12'h0EC; |
rommem[14022] <= 12'h601; |
rommem[14023] <= 12'h0FD; |
rommem[14024] <= 12'h000; |
rommem[14025] <= 12'h900; |
rommem[14026] <= 12'h0E6; |
rommem[14027] <= 12'h603; |
rommem[14028] <= 12'h0F7; |
rommem[14029] <= 12'h000; |
rommem[14030] <= 12'h90E; |
rommem[14031] <= 12'h0EC; |
rommem[14032] <= 12'h604; |
rommem[14033] <= 12'h0FD; |
rommem[14034] <= 12'h000; |
rommem[14035] <= 12'h902; |
rommem[14036] <= 12'h0EC; |
rommem[14037] <= 12'h606; |
rommem[14038] <= 12'h0FD; |
rommem[14039] <= 12'h000; |
rommem[14040] <= 12'h904; |
rommem[14041] <= 12'h0EC; |
rommem[14042] <= 12'h608; |
rommem[14043] <= 12'h0FD; |
rommem[14044] <= 12'h000; |
rommem[14045] <= 12'h906; |
rommem[14046] <= 12'h1FF; |
rommem[14047] <= 12'h000; |
rommem[14048] <= 12'h908; |
rommem[14049] <= 12'h0EC; |
rommem[14050] <= 12'h60B; |
rommem[14051] <= 12'h0FD; |
rommem[14052] <= 12'h000; |
rommem[14053] <= 12'h90A; |
rommem[14054] <= 12'h1EE; |
rommem[14055] <= 12'h80C; |
rommem[14056] <= 12'hF46; |
rommem[14057] <= 12'h0CC; |
rommem[14058] <= 12'hFFF; |
rommem[14059] <= 12'h6AE; |
rommem[14060] <= 12'h034; |
rommem[14061] <= 12'h006; |
rommem[14062] <= 12'h08D; |
rommem[14063] <= 12'h01F; |
rommem[14064] <= 12'h016; |
rommem[14065] <= 12'hFFF; |
rommem[14066] <= 12'hE57; |
rommem[14067] <= 12'h020; |
rommem[14068] <= 12'h039; |
rommem[14069] <= 12'h033; |
rommem[14070] <= 12'h401; |
rommem[14071] <= 12'h0E6; |
rommem[14072] <= 12'hC00; |
rommem[14073] <= 12'h0C1; |
rommem[14074] <= 12'h019; |
rommem[14075] <= 12'h122; |
rommem[14076] <= 12'hFFF; |
rommem[14077] <= 12'hBB8; |
rommem[14078] <= 12'h0EF; |
rommem[14079] <= 12'h60B; |
rommem[14080] <= 12'h058; |
rommem[14081] <= 12'h08E; |
rommem[14082] <= 12'hFFE; |
rommem[14083] <= 12'hEF6; |
rommem[14084] <= 12'h06D; |
rommem[14085] <= 12'hE0F; |
rommem[14086] <= 12'h027; |
rommem[14087] <= 12'hFA6; |
rommem[14088] <= 12'h0AD; |
rommem[14089] <= 12'hF0F; |
rommem[14090] <= 12'h07F; |
rommem[14091] <= 12'hEF0; |
rommem[14092] <= 12'h011; |
rommem[13960] <= 12'h06F; |
rommem[13961] <= 12'h072; |
rommem[13962] <= 12'h079; |
rommem[13963] <= 12'h00D; |
rommem[13964] <= 12'h00A; |
rommem[13965] <= 12'h046; |
rommem[13966] <= 12'h020; |
rommem[13967] <= 12'h03D; |
rommem[13968] <= 12'h020; |
rommem[13969] <= 12'h046; |
rommem[13970] <= 12'h069; |
rommem[13971] <= 12'h06C; |
rommem[13972] <= 12'h06C; |
rommem[13973] <= 12'h020; |
rommem[13974] <= 12'h06D; |
rommem[13975] <= 12'h065; |
rommem[13976] <= 12'h06D; |
rommem[13977] <= 12'h06F; |
rommem[13978] <= 12'h072; |
rommem[13979] <= 12'h079; |
rommem[13980] <= 12'h00D; |
rommem[13981] <= 12'h00A; |
rommem[13982] <= 12'h046; |
rommem[13983] <= 12'h04C; |
rommem[13984] <= 12'h020; |
rommem[13985] <= 12'h03D; |
rommem[13986] <= 12'h020; |
rommem[13987] <= 12'h044; |
rommem[13988] <= 12'h075; |
rommem[13989] <= 12'h06D; |
rommem[13990] <= 12'h070; |
rommem[13991] <= 12'h020; |
rommem[13992] <= 12'h049; |
rommem[13993] <= 12'h02F; |
rommem[13994] <= 12'h04F; |
rommem[13995] <= 12'h020; |
rommem[13996] <= 12'h046; |
rommem[13997] <= 12'h06F; |
rommem[13998] <= 12'h063; |
rommem[13999] <= 12'h075; |
rommem[14000] <= 12'h073; |
rommem[14001] <= 12'h020; |
rommem[14002] <= 12'h04C; |
rommem[14003] <= 12'h069; |
rommem[14004] <= 12'h073; |
rommem[14005] <= 12'h074; |
rommem[14006] <= 12'h00D; |
rommem[14007] <= 12'h00A; |
rommem[14008] <= 12'h04A; |
rommem[14009] <= 12'h020; |
rommem[14010] <= 12'h03D; |
rommem[14011] <= 12'h020; |
rommem[14012] <= 12'h04A; |
rommem[14013] <= 12'h075; |
rommem[14014] <= 12'h06D; |
rommem[14015] <= 12'h070; |
rommem[14016] <= 12'h020; |
rommem[14017] <= 12'h074; |
rommem[14018] <= 12'h06F; |
rommem[14019] <= 12'h020; |
rommem[14020] <= 12'h063; |
rommem[14021] <= 12'h06F; |
rommem[14022] <= 12'h064; |
rommem[14023] <= 12'h065; |
rommem[14024] <= 12'h00D; |
rommem[14025] <= 12'h00A; |
rommem[14026] <= 12'h04A; |
rommem[14027] <= 12'h044; |
rommem[14028] <= 12'h034; |
rommem[14029] <= 12'h020; |
rommem[14030] <= 12'h03D; |
rommem[14031] <= 12'h020; |
rommem[14032] <= 12'h04A; |
rommem[14033] <= 12'h075; |
rommem[14034] <= 12'h06D; |
rommem[14035] <= 12'h070; |
rommem[14036] <= 12'h020; |
rommem[14037] <= 12'h074; |
rommem[14038] <= 12'h06F; |
rommem[14039] <= 12'h020; |
rommem[14040] <= 12'h024; |
rommem[14041] <= 12'h046; |
rommem[14042] <= 12'h046; |
rommem[14043] <= 12'h044; |
rommem[14044] <= 12'h034; |
rommem[14045] <= 12'h030; |
rommem[14046] <= 12'h030; |
rommem[14047] <= 12'h00D; |
rommem[14048] <= 12'h00A; |
rommem[14049] <= 12'h052; |
rommem[14050] <= 12'h05B; |
rommem[14051] <= 12'h06E; |
rommem[14052] <= 12'h05D; |
rommem[14053] <= 12'h020; |
rommem[14054] <= 12'h03D; |
rommem[14055] <= 12'h020; |
rommem[14056] <= 12'h053; |
rommem[14057] <= 12'h065; |
rommem[14058] <= 12'h074; |
rommem[14059] <= 12'h020; |
rommem[14060] <= 12'h072; |
rommem[14061] <= 12'h065; |
rommem[14062] <= 12'h067; |
rommem[14063] <= 12'h069; |
rommem[14064] <= 12'h073; |
rommem[14065] <= 12'h074; |
rommem[14066] <= 12'h065; |
rommem[14067] <= 12'h072; |
rommem[14068] <= 12'h020; |
rommem[14069] <= 12'h076; |
rommem[14070] <= 12'h061; |
rommem[14071] <= 12'h06C; |
rommem[14072] <= 12'h075; |
rommem[14073] <= 12'h065; |
rommem[14074] <= 12'h00D; |
rommem[14075] <= 12'h00A; |
rommem[14076] <= 12'h073; |
rommem[14077] <= 12'h020; |
rommem[14078] <= 12'h03D; |
rommem[14079] <= 12'h020; |
rommem[14080] <= 12'h073; |
rommem[14081] <= 12'h065; |
rommem[14082] <= 12'h072; |
rommem[14083] <= 12'h069; |
rommem[14084] <= 12'h061; |
rommem[14085] <= 12'h06C; |
rommem[14086] <= 12'h020; |
rommem[14087] <= 12'h06F; |
rommem[14088] <= 12'h075; |
rommem[14089] <= 12'h074; |
rommem[14090] <= 12'h070; |
rommem[14091] <= 12'h075; |
rommem[14092] <= 12'h074; |
rommem[14093] <= 12'h020; |
rommem[14094] <= 12'hF9F; |
rommem[14095] <= 12'h034; |
rommem[14096] <= 12'h036; |
rommem[14097] <= 12'h18E; |
rommem[14098] <= 12'h000; |
rommem[14099] <= 12'h000; |
rommem[14100] <= 12'h05F; |
rommem[14101] <= 12'h08E; |
rommem[14102] <= 12'h000; |
rommem[14103] <= 12'h830; |
rommem[14104] <= 12'h0C1; |
rommem[14105] <= 12'h631; |
rommem[14106] <= 12'h024; |
rommem[14107] <= 12'h010; |
rommem[14108] <= 12'h0F1; |
rommem[14109] <= 12'h000; |
rommem[14110] <= 12'h811; |
rommem[14111] <= 12'h024; |
rommem[14112] <= 12'h00B; |
rommem[14113] <= 12'h0A6; |
rommem[14114] <= 12'h837; |
rommem[14115] <= 12'h0A7; |
rommem[14116] <= 12'hB09; |
rommem[14117] <= 12'h000; |
rommem[14118] <= 12'h820; |
rommem[14119] <= 12'h031; |
rommem[14120] <= 12'h202; |
rommem[14121] <= 12'h05C; |
rommem[14122] <= 12'h020; |
rommem[14123] <= 12'hFEC; |
rommem[14124] <= 12'h035; |
rommem[14125] <= 12'h0B6; |
rommem[14126] <= 12'h034; |
rommem[14127] <= 12'h036; |
rommem[14128] <= 12'h18E; |
rommem[14129] <= 12'h000; |
rommem[14130] <= 12'h000; |
rommem[14131] <= 12'h05F; |
rommem[14132] <= 12'h08E; |
rommem[14133] <= 12'h000; |
rommem[14134] <= 12'h830; |
rommem[14135] <= 12'h0F1; |
rommem[14136] <= 12'hFFF; |
rommem[14137] <= 12'h631; |
rommem[14138] <= 12'h024; |
rommem[14139] <= 12'h010; |
rommem[14140] <= 12'h0F1; |
rommem[14141] <= 12'h000; |
rommem[14142] <= 12'h811; |
rommem[14143] <= 12'h024; |
rommem[14144] <= 12'h00B; |
rommem[14145] <= 12'h0A6; |
rommem[14146] <= 12'hB09; |
rommem[14147] <= 12'h000; |
rommem[14148] <= 12'h820; |
rommem[14149] <= 12'h0A7; |
rommem[14150] <= 12'hB0D; |
rommem[14151] <= 12'h031; |
rommem[14152] <= 12'h202; |
rommem[14153] <= 12'h05C; |
rommem[14154] <= 12'h020; |
rommem[14155] <= 12'hFEB; |
rommem[14156] <= 12'h035; |
rommem[14157] <= 12'h0B6; |
rommem[14158] <= 12'h034; |
rommem[14159] <= 12'h036; |
rommem[14160] <= 12'h0B6; |
rommem[14161] <= 12'h000; |
rommem[14162] <= 12'h811; |
rommem[14163] <= 12'h0B1; |
rommem[14164] <= 12'hFFF; |
rommem[14165] <= 12'h631; |
rommem[14166] <= 12'h124; |
rommem[14167] <= 12'hFFF; |
rommem[14168] <= 12'hB5D; |
rommem[14169] <= 12'h017; |
rommem[14170] <= 12'hFFF; |
rommem[14171] <= 12'hA70; |
rommem[14172] <= 12'h0F6; |
rommem[14173] <= 12'h000; |
rommem[14174] <= 12'h811; |
rommem[14175] <= 12'h1BE; |
rommem[14176] <= 12'h000; |
rommem[14177] <= 12'h912; |
rommem[14178] <= 12'h0A6; |
rommem[14179] <= 12'hA04; |
rommem[14180] <= 12'h08E; |
rommem[14181] <= 12'h000; |
rommem[14182] <= 12'h830; |
rommem[14183] <= 12'h0A7; |
rommem[14184] <= 12'hA05; |
rommem[14185] <= 12'h086; |
rommem[14186] <= 12'h03F; |
rommem[14187] <= 12'h0A7; |
rommem[14188] <= 12'hA04; |
rommem[14189] <= 12'h08E; |
rommem[14190] <= 12'h000; |
rommem[14191] <= 12'h820; |
rommem[14192] <= 12'h058; |
rommem[14193] <= 12'h1AF; |
rommem[14194] <= 12'hA05; |
rommem[14195] <= 12'h054; |
rommem[14196] <= 12'h05C; |
rommem[14197] <= 12'h0F7; |
rommem[14198] <= 12'h000; |
rommem[14199] <= 12'h811; |
rommem[14200] <= 12'h035; |
rommem[14201] <= 12'h0B6; |
rommem[14202] <= 12'h034; |
rommem[14203] <= 12'h076; |
rommem[14204] <= 12'h017; |
rommem[14205] <= 12'hFFF; |
rommem[14206] <= 12'hA4D; |
rommem[14207] <= 12'h05F; |
rommem[14208] <= 12'h05F; |
rommem[14209] <= 12'h01F; |
rommem[14210] <= 12'h001; |
rommem[14211] <= 12'h0F1; |
rommem[14212] <= 12'hFFF; |
rommem[14213] <= 12'h631; |
rommem[14214] <= 12'h024; |
rommem[14215] <= 12'h041; |
rommem[14216] <= 12'h0F1; |
rommem[14217] <= 12'h000; |
rommem[14218] <= 12'h811; |
rommem[14219] <= 12'h024; |
rommem[14220] <= 12'h03C; |
rommem[14221] <= 12'h1AE; |
rommem[14222] <= 12'h809; |
rommem[14223] <= 12'h000; |
rommem[14224] <= 12'h820; |
rommem[14225] <= 12'h1BC; |
rommem[14226] <= 12'h000; |
rommem[14227] <= 12'h912; |
rommem[14228] <= 12'h026; |
rommem[14229] <= 12'h02E; |
rommem[14230] <= 12'h0BE; |
rommem[14231] <= 12'h000; |
rommem[14232] <= 12'h912; |
rommem[14233] <= 12'h18E; |
rommem[14234] <= 12'h000; |
rommem[14235] <= 12'h830; |
rommem[14236] <= 12'h0A6; |
rommem[14237] <= 12'hA0D; |
rommem[14238] <= 12'h0A7; |
rommem[14239] <= 12'h804; |
rommem[14240] <= 12'h07A; |
rommem[14241] <= 12'h000; |
rommem[14242] <= 12'h811; |
rommem[14243] <= 12'h034; |
rommem[14244] <= 12'h004; |
rommem[14245] <= 12'h05C; |
rommem[14246] <= 12'h0A6; |
rommem[14247] <= 12'hA05; |
rommem[14248] <= 12'h05A; |
rommem[14249] <= 12'h0A7; |
rommem[14250] <= 12'hA05; |
rommem[14251] <= 12'h05C; |
rommem[14252] <= 12'h0F1; |
rommem[14253] <= 12'hFFF; |
rommem[14254] <= 12'h631; |
rommem[14255] <= 12'h025; |
rommem[14256] <= 12'hFF4; |
rommem[14257] <= 12'h035; |
rommem[14258] <= 12'h004; |
rommem[14259] <= 12'h058; |
rommem[14260] <= 12'h04F; |
rommem[14261] <= 12'h01F; |
rommem[14262] <= 12'h002; |
rommem[14263] <= 12'h054; |
rommem[14264] <= 12'h0EE; |
rommem[14265] <= 12'h202; |
rommem[14266] <= 12'h0EF; |
rommem[14267] <= 12'hA01; |
rommem[14268] <= 12'h05C; |
rommem[14269] <= 12'h0F1; |
rommem[14270] <= 12'hFFF; |
rommem[14271] <= 12'h631; |
rommem[14272] <= 12'h025; |
rommem[14273] <= 12'hFF6; |
rommem[14274] <= 12'h035; |
rommem[14275] <= 12'h0F6; |
rommem[14276] <= 12'h030; |
rommem[14277] <= 12'h002; |
rommem[14278] <= 12'h05C; |
rommem[14279] <= 12'h020; |
rommem[14280] <= 12'hFBA; |
rommem[14281] <= 12'h035; |
rommem[14282] <= 12'h0F6; |
rommem[14283] <= 12'h01A; |
rommem[14284] <= 12'h010; |
rommem[14285] <= 12'h0A6; |
rommem[14286] <= 12'hE04; |
rommem[14287] <= 12'h0B7; |
rommem[14288] <= 12'h000; |
rommem[14289] <= 12'h90F; |
rommem[14290] <= 12'h0EC; |
rommem[14291] <= 12'h601; |
rommem[14292] <= 12'h0FD; |
rommem[14293] <= 12'h000; |
rommem[14294] <= 12'h900; |
rommem[14295] <= 12'h0E6; |
rommem[14296] <= 12'h603; |
rommem[14297] <= 12'h0F7; |
rommem[14298] <= 12'h000; |
rommem[14299] <= 12'h90E; |
rommem[14300] <= 12'h0EC; |
rommem[14301] <= 12'h604; |
rommem[14302] <= 12'h0FD; |
rommem[14303] <= 12'h000; |
rommem[14304] <= 12'h902; |
rommem[14305] <= 12'h0EC; |
rommem[14306] <= 12'h606; |
rommem[14307] <= 12'h0FD; |
rommem[14308] <= 12'h000; |
rommem[14309] <= 12'h904; |
rommem[14310] <= 12'h0EC; |
rommem[14311] <= 12'h608; |
rommem[14312] <= 12'h0FD; |
rommem[14313] <= 12'h000; |
rommem[14314] <= 12'h906; |
rommem[14315] <= 12'h1FF; |
rommem[14316] <= 12'h000; |
rommem[14317] <= 12'h908; |
rommem[14318] <= 12'h0EC; |
rommem[14319] <= 12'h60B; |
rommem[14320] <= 12'h0FD; |
rommem[14321] <= 12'h000; |
rommem[14322] <= 12'h90A; |
rommem[14323] <= 12'h1FF; |
rommem[14324] <= 12'h000; |
rommem[14325] <= 12'h908; |
rommem[14326] <= 12'h1CE; |
rommem[14327] <= 12'h003; |
rommem[14328] <= 12'hFFF; |
rommem[14329] <= 12'h0CC; |
rommem[14330] <= 12'hFFF; |
rommem[14331] <= 12'h803; |
rommem[14332] <= 12'h034; |
rommem[14333] <= 12'h006; |
rommem[14334] <= 12'h01C; |
rommem[14335] <= 12'h0EF; |
rommem[14336] <= 12'h07E; |
rommem[14337] <= 12'hFFF; |
rommem[14338] <= 12'h54A; |
rommem[14339] <= 12'h1FE; |
rommem[14340] <= 12'h000; |
rommem[14341] <= 12'h908; |
rommem[14342] <= 12'h03B; |
rommem[14343] <= 12'h03B; |
rommem[14094] <= 12'h074; |
rommem[14095] <= 12'h065; |
rommem[14096] <= 12'h073; |
rommem[14097] <= 12'h074; |
rommem[14098] <= 12'h00D; |
rommem[14099] <= 12'h00A; |
rommem[14100] <= 12'h053; |
rommem[14101] <= 12'h031; |
rommem[14102] <= 12'h039; |
rommem[14103] <= 12'h020; |
rommem[14104] <= 12'h03D; |
rommem[14105] <= 12'h020; |
rommem[14106] <= 12'h072; |
rommem[14107] <= 12'h075; |
rommem[14108] <= 12'h06E; |
rommem[14109] <= 12'h020; |
rommem[14110] <= 12'h053; |
rommem[14111] <= 12'h031; |
rommem[14112] <= 12'h039; |
rommem[14113] <= 12'h020; |
rommem[14114] <= 12'h06C; |
rommem[14115] <= 12'h06F; |
rommem[14116] <= 12'h061; |
rommem[14117] <= 12'h064; |
rommem[14118] <= 12'h065; |
rommem[14119] <= 12'h072; |
rommem[14120] <= 12'h00D; |
rommem[14121] <= 12'h00A; |
rommem[14122] <= 12'h053; |
rommem[14123] <= 12'h050; |
rommem[14124] <= 12'h020; |
rommem[14125] <= 12'h03D; |
rommem[14126] <= 12'h020; |
rommem[14127] <= 12'h073; |
rommem[14128] <= 12'h070; |
rommem[14129] <= 12'h072; |
rommem[14130] <= 12'h069; |
rommem[14131] <= 12'h074; |
rommem[14132] <= 12'h065; |
rommem[14133] <= 12'h020; |
rommem[14134] <= 12'h064; |
rommem[14135] <= 12'h065; |
rommem[14136] <= 12'h06D; |
rommem[14137] <= 12'h06F; |
rommem[14138] <= 12'h00D; |
rommem[14139] <= 12'h00A; |
rommem[14140] <= 12'h054; |
rommem[14141] <= 12'h049; |
rommem[14142] <= 12'h020; |
rommem[14143] <= 12'h03D; |
rommem[14144] <= 12'h020; |
rommem[14145] <= 12'h064; |
rommem[14146] <= 12'h069; |
rommem[14147] <= 12'h073; |
rommem[14148] <= 12'h070; |
rommem[14149] <= 12'h06C; |
rommem[14150] <= 12'h061; |
rommem[14151] <= 12'h079; |
rommem[14152] <= 12'h020; |
rommem[14153] <= 12'h064; |
rommem[14154] <= 12'h061; |
rommem[14155] <= 12'h074; |
rommem[14156] <= 12'h065; |
rommem[14157] <= 12'h02F; |
rommem[14158] <= 12'h074; |
rommem[14159] <= 12'h069; |
rommem[14160] <= 12'h06D; |
rommem[14161] <= 12'h065; |
rommem[14162] <= 12'h00D; |
rommem[14163] <= 12'h00A; |
rommem[14164] <= 12'h055; |
rommem[14165] <= 12'h020; |
rommem[14166] <= 12'h03D; |
rommem[14167] <= 12'h020; |
rommem[14168] <= 12'h075; |
rommem[14169] <= 12'h06E; |
rommem[14170] <= 12'h061; |
rommem[14171] <= 12'h073; |
rommem[14172] <= 12'h073; |
rommem[14173] <= 12'h065; |
rommem[14174] <= 12'h06D; |
rommem[14175] <= 12'h062; |
rommem[14176] <= 12'h06C; |
rommem[14177] <= 12'h065; |
rommem[14178] <= 12'h00D; |
rommem[14179] <= 12'h00A; |
rommem[14180] <= 12'h058; |
rommem[14181] <= 12'h04D; |
rommem[14182] <= 12'h020; |
rommem[14183] <= 12'h03D; |
rommem[14184] <= 12'h020; |
rommem[14185] <= 12'h078; |
rommem[14186] <= 12'h06D; |
rommem[14187] <= 12'h06F; |
rommem[14188] <= 12'h064; |
rommem[14189] <= 12'h065; |
rommem[14190] <= 12'h06D; |
rommem[14191] <= 12'h020; |
rommem[14192] <= 12'h074; |
rommem[14193] <= 12'h072; |
rommem[14194] <= 12'h061; |
rommem[14195] <= 12'h06E; |
rommem[14196] <= 12'h073; |
rommem[14197] <= 12'h066; |
rommem[14198] <= 12'h065; |
rommem[14199] <= 12'h072; |
rommem[14200] <= 12'h00D; |
rommem[14201] <= 12'h00A; |
rommem[14202] <= 12'h078; |
rommem[14203] <= 12'h020; |
rommem[14204] <= 12'h03D; |
rommem[14205] <= 12'h020; |
rommem[14206] <= 12'h065; |
rommem[14207] <= 12'h078; |
rommem[14208] <= 12'h069; |
rommem[14209] <= 12'h074; |
rommem[14210] <= 12'h020; |
rommem[14211] <= 12'h06D; |
rommem[14212] <= 12'h06F; |
rommem[14213] <= 12'h06E; |
rommem[14214] <= 12'h069; |
rommem[14215] <= 12'h074; |
rommem[14216] <= 12'h06F; |
rommem[14217] <= 12'h072; |
rommem[14218] <= 12'h00D; |
rommem[14219] <= 12'h00A; |
rommem[14220] <= 12'h000; |
rommem[14221] <= 12'h00D; |
rommem[14222] <= 12'h00A; |
rommem[14223] <= 12'h020; |
rommem[14224] <= 12'h020; |
rommem[14225] <= 12'h044; |
rommem[14226] <= 12'h02F; |
rommem[14227] <= 12'h041; |
rommem[14228] <= 12'h042; |
rommem[14229] <= 12'h020; |
rommem[14230] <= 12'h020; |
rommem[14231] <= 12'h020; |
rommem[14232] <= 12'h020; |
rommem[14233] <= 12'h020; |
rommem[14234] <= 12'h058; |
rommem[14235] <= 12'h020; |
rommem[14236] <= 12'h020; |
rommem[14237] <= 12'h020; |
rommem[14238] <= 12'h020; |
rommem[14239] <= 12'h020; |
rommem[14240] <= 12'h020; |
rommem[14241] <= 12'h059; |
rommem[14242] <= 12'h020; |
rommem[14243] <= 12'h020; |
rommem[14244] <= 12'h020; |
rommem[14245] <= 12'h020; |
rommem[14246] <= 12'h020; |
rommem[14247] <= 12'h020; |
rommem[14248] <= 12'h055; |
rommem[14249] <= 12'h020; |
rommem[14250] <= 12'h020; |
rommem[14251] <= 12'h020; |
rommem[14252] <= 12'h020; |
rommem[14253] <= 12'h020; |
rommem[14254] <= 12'h020; |
rommem[14255] <= 12'h053; |
rommem[14256] <= 12'h020; |
rommem[14257] <= 12'h020; |
rommem[14258] <= 12'h020; |
rommem[14259] <= 12'h020; |
rommem[14260] <= 12'h020; |
rommem[14261] <= 12'h020; |
rommem[14262] <= 12'h020; |
rommem[14263] <= 12'h050; |
rommem[14264] <= 12'h043; |
rommem[14265] <= 12'h020; |
rommem[14266] <= 12'h020; |
rommem[14267] <= 12'h020; |
rommem[14268] <= 12'h020; |
rommem[14269] <= 12'h044; |
rommem[14270] <= 12'h050; |
rommem[14271] <= 12'h020; |
rommem[14272] <= 12'h020; |
rommem[14273] <= 12'h043; |
rommem[14274] <= 12'h043; |
rommem[14275] <= 12'h052; |
rommem[14276] <= 12'h00D; |
rommem[14277] <= 12'h00A; |
rommem[14278] <= 12'h000; |
rommem[14279] <= 12'h0BD; |
rommem[14280] <= 12'hFFD; |
rommem[14281] <= 12'h2D2; |
rommem[14282] <= 12'h039; |
rommem[14283] <= 12'h0C6; |
rommem[14284] <= 12'h020; |
rommem[14285] <= 12'h016; |
rommem[14286] <= 12'hFFF; |
rommem[14287] <= 12'h9F9; |
rommem[14288] <= 12'h08D; |
rommem[14289] <= 12'hD00; |
rommem[14290] <= 12'h18E; |
rommem[14291] <= 12'h000; |
rommem[14292] <= 12'h000; |
rommem[14293] <= 12'h1BE; |
rommem[14294] <= 12'h000; |
rommem[14295] <= 12'h922; |
rommem[14296] <= 12'h017; |
rommem[14297] <= 12'hFFD; |
rommem[14298] <= 12'h8F7; |
rommem[14299] <= 12'h0C6; |
rommem[14300] <= 12'h03A; |
rommem[14301] <= 12'h017; |
rommem[14302] <= 12'hFFF; |
rommem[14303] <= 12'h9E9; |
rommem[14304] <= 12'h01F; |
rommem[14305] <= 12'h020; |
rommem[14306] <= 12'h017; |
rommem[14307] <= 12'hFFE; |
rommem[14308] <= 12'hC4C; |
rommem[14309] <= 12'h0C6; |
rommem[14310] <= 12'h020; |
rommem[14311] <= 12'h017; |
rommem[14312] <= 12'hFFF; |
rommem[14313] <= 12'h9DF; |
rommem[14314] <= 12'h08E; |
rommem[14315] <= 12'h000; |
rommem[14316] <= 12'h008; |
rommem[14317] <= 12'h0E6; |
rommem[14318] <= 12'hA04; |
rommem[14319] <= 12'h031; |
rommem[14320] <= 12'h201; |
rommem[14321] <= 12'h017; |
rommem[14322] <= 12'hFFE; |
rommem[14323] <= 12'hC46; |
rommem[14324] <= 12'h0C6; |
rommem[14325] <= 12'h020; |
rommem[14326] <= 12'h017; |
rommem[14327] <= 12'hFFF; |
rommem[14328] <= 12'h9D0; |
rommem[14329] <= 12'h05F; |
rommem[14330] <= 12'h04F; |
rommem[14331] <= 12'h017; |
rommem[14332] <= 12'hFFF; |
rommem[14333] <= 12'h993; |
rommem[14334] <= 12'h0C1; |
rommem[14335] <= 12'h003; |
rommem[14336] <= 12'h027; |
rommem[14337] <= 12'h024; |
rommem[14338] <= 12'h030; |
rommem[14339] <= 12'h1FF; |
rommem[14340] <= 12'h026; |
rommem[14341] <= 12'hFE7; |
rommem[14342] <= 12'h0C6; |
rommem[14343] <= 12'h020; |
rommem[14344] <= 12'h017; |
rommem[14345] <= 12'hFFE; |
rommem[14346] <= 12'hC85; |
rommem[14347] <= 12'h0B6; |
rommem[14348] <= 12'hFFC; |
rommem[14349] <= 12'h014; |
rommem[14350] <= 12'h044; |
rommem[14351] <= 12'h0BA; |
rommem[14352] <= 12'hFFC; |
rommem[14353] <= 12'h014; |
rommem[14354] <= 12'h084; |
rommem[14355] <= 12'hFE0; |
rommem[14356] <= 12'h0B7; |
rommem[14357] <= 12'hFFC; |
rommem[14358] <= 12'h014; |
rommem[14359] <= 12'h03B; |
rommem[14360] <= 12'h015; |
rommem[14361] <= 12'h0F6; |
rommem[14362] <= 12'hFFF; |
rommem[14363] <= 12'hFFF; |
rommem[14364] <= 12'hFE0; |
rommem[14365] <= 12'h086; |
rommem[14366] <= 12'h049; |
rommem[14367] <= 12'h08E; |
rommem[14368] <= 12'hE00; |
rommem[14369] <= 12'h028; |
rommem[14370] <= 12'h0A7; |
rommem[14371] <= 12'h807; |
rommem[14372] <= 12'h03B; |
rommem[14345] <= 12'hFFF; |
rommem[14346] <= 12'h9BE; |
rommem[14347] <= 12'h08E; |
rommem[14348] <= 12'h000; |
rommem[14349] <= 12'h008; |
rommem[14350] <= 12'h031; |
rommem[14351] <= 12'h3F8; |
rommem[14352] <= 12'h0E6; |
rommem[14353] <= 12'hA04; |
rommem[14354] <= 12'h0C1; |
rommem[14355] <= 12'h020; |
rommem[14356] <= 12'h024; |
rommem[14357] <= 12'h002; |
rommem[14358] <= 12'h0C6; |
rommem[14359] <= 12'h02E; |
rommem[14360] <= 12'h017; |
rommem[14361] <= 12'hFFF; |
rommem[14362] <= 12'h9AE; |
rommem[14363] <= 12'h031; |
rommem[14364] <= 12'h201; |
rommem[14365] <= 12'h030; |
rommem[14366] <= 12'h1FF; |
rommem[14367] <= 12'h026; |
rommem[14368] <= 12'hFEF; |
rommem[14369] <= 12'h1BC; |
rommem[14370] <= 12'h000; |
rommem[14371] <= 12'h926; |
rommem[14372] <= 12'h025; |
rommem[14373] <= 12'hFB2; |
rommem[14374] <= 12'h017; |
rommem[14375] <= 12'hFFD; |
rommem[14376] <= 12'h8A9; |
rommem[14377] <= 12'h016; |
rommem[14378] <= 12'hFFF; |
rommem[14379] <= 12'hB30; |
rommem[14380] <= 12'h0CE; |
rommem[14381] <= 12'h000; |
rommem[14382] <= 12'h008; |
rommem[14383] <= 12'h017; |
rommem[14384] <= 12'hFFF; |
rommem[14385] <= 12'hC48; |
rommem[14386] <= 12'h017; |
rommem[14387] <= 12'hFFF; |
rommem[14388] <= 12'hCC6; |
rommem[14389] <= 12'h0BE; |
rommem[14390] <= 12'h000; |
rommem[14391] <= 12'h912; |
rommem[14392] <= 12'h017; |
rommem[14393] <= 12'hFFF; |
rommem[14394] <= 12'hC3F; |
rommem[14395] <= 12'h017; |
rommem[14396] <= 12'hFFF; |
rommem[14397] <= 12'hCBD; |
rommem[14398] <= 12'h05D; |
rommem[14399] <= 12'h027; |
rommem[14400] <= 12'h00C; |
rommem[14401] <= 12'h0F6; |
rommem[14402] <= 12'h000; |
rommem[14403] <= 12'h913; |
rommem[14404] <= 12'h0E7; |
rommem[14405] <= 12'h800; |
rommem[14406] <= 12'h033; |
rommem[14407] <= 12'h5FF; |
rommem[14408] <= 12'h283; |
rommem[14409] <= 12'h000; |
rommem[14410] <= 12'h000; |
rommem[14411] <= 12'h026; |
rommem[14412] <= 12'hFEB; |
rommem[14413] <= 12'h017; |
rommem[14414] <= 12'hFFF; |
rommem[14415] <= 12'hC0D; |
rommem[14416] <= 12'h0C1; |
rommem[14417] <= 12'h022; |
rommem[14418] <= 12'h026; |
rommem[14419] <= 12'h018; |
rommem[14420] <= 12'h0CE; |
rommem[14421] <= 12'h000; |
rommem[14422] <= 12'h028; |
rommem[14423] <= 12'h017; |
rommem[14424] <= 12'hFFF; |
rommem[14425] <= 12'hC03; |
rommem[14426] <= 12'h0C1; |
rommem[14427] <= 12'h022; |
rommem[14428] <= 12'h026; |
rommem[14429] <= 12'h005; |
rommem[14430] <= 12'h0CE; |
rommem[14431] <= 12'h000; |
rommem[14432] <= 12'h008; |
rommem[14433] <= 12'h020; |
rommem[14434] <= 12'hFD5; |
rommem[14435] <= 12'h0E7; |
rommem[14436] <= 12'h800; |
rommem[14437] <= 12'h033; |
rommem[14438] <= 12'h5FF; |
rommem[14439] <= 12'h283; |
rommem[14440] <= 12'h000; |
rommem[14441] <= 12'h000; |
rommem[14442] <= 12'h022; |
rommem[14443] <= 12'hFEB; |
rommem[14444] <= 12'h016; |
rommem[14445] <= 12'hFFF; |
rommem[14446] <= 12'hAED; |
rommem[14447] <= 12'h017; |
rommem[14448] <= 12'hFFF; |
rommem[14449] <= 12'hC60; |
rommem[14450] <= 12'h017; |
rommem[14451] <= 12'hFFF; |
rommem[14452] <= 12'hC05; |
rommem[14453] <= 12'h017; |
rommem[14454] <= 12'hFFF; |
rommem[14455] <= 12'hC83; |
rommem[14456] <= 12'h0F6; |
rommem[14457] <= 12'h000; |
rommem[14458] <= 12'h913; |
rommem[14459] <= 12'h0BE; |
rommem[14460] <= 12'h000; |
rommem[14461] <= 12'h922; |
rommem[14462] <= 12'h04F; |
rommem[14463] <= 12'h04D; |
rommem[14464] <= 12'h026; |
rommem[14465] <= 12'h00D; |
rommem[14466] <= 12'h05F; |
rommem[14467] <= 12'h04F; |
rommem[14468] <= 12'h017; |
rommem[14469] <= 12'hFFF; |
rommem[14470] <= 12'h90A; |
rommem[14471] <= 12'h0C1; |
rommem[14472] <= 12'h003; |
rommem[14473] <= 12'h127; |
rommem[14474] <= 12'hFFF; |
rommem[14475] <= 12'hAD0; |
rommem[14476] <= 12'h0F6; |
rommem[14477] <= 12'h000; |
rommem[14478] <= 12'h913; |
rommem[14479] <= 12'h0E7; |
rommem[14480] <= 12'h800; |
rommem[14481] <= 12'h0BC; |
rommem[14482] <= 12'h000; |
rommem[14483] <= 12'h926; |
rommem[14484] <= 12'h023; |
rommem[14485] <= 12'hFE9; |
rommem[14486] <= 12'h016; |
rommem[14487] <= 12'hFFF; |
rommem[14488] <= 12'hAC3; |
rommem[14489] <= 12'h0CC; |
rommem[14490] <= 12'hFFF; |
rommem[14491] <= 12'h78D; |
rommem[14492] <= 12'h017; |
rommem[14493] <= 12'hFFE; |
rommem[14494] <= 12'hB3E; |
rommem[14495] <= 12'h08D; |
rommem[14496] <= 12'hF2A; |
rommem[14497] <= 12'h0FC; |
rommem[14498] <= 12'h000; |
rommem[14499] <= 12'h900; |
rommem[14500] <= 12'h08D; |
rommem[14501] <= 12'hF21; |
rommem[14502] <= 12'h08D; |
rommem[14503] <= 12'hF23; |
rommem[14504] <= 12'h0FC; |
rommem[14505] <= 12'h000; |
rommem[14506] <= 12'h902; |
rommem[14507] <= 12'h08D; |
rommem[14508] <= 12'hF1A; |
rommem[14509] <= 12'h08D; |
rommem[14510] <= 12'hF1C; |
rommem[14511] <= 12'h0FC; |
rommem[14512] <= 12'h000; |
rommem[14513] <= 12'h904; |
rommem[14514] <= 12'h08D; |
rommem[14515] <= 12'hF13; |
rommem[14516] <= 12'h08D; |
rommem[14517] <= 12'hF15; |
rommem[14518] <= 12'h0FC; |
rommem[14519] <= 12'h000; |
rommem[14520] <= 12'h906; |
rommem[14521] <= 12'h08D; |
rommem[14522] <= 12'hF0C; |
rommem[14523] <= 12'h08D; |
rommem[14524] <= 12'hF0E; |
rommem[14525] <= 12'h0FC; |
rommem[14526] <= 12'h000; |
rommem[14527] <= 12'h908; |
rommem[14528] <= 12'h08D; |
rommem[14529] <= 12'hF05; |
rommem[14530] <= 12'h08D; |
rommem[14531] <= 12'hF07; |
rommem[14532] <= 12'h0F6; |
rommem[14533] <= 12'h000; |
rommem[14534] <= 12'h90B; |
rommem[14535] <= 12'h017; |
rommem[14536] <= 12'hFFE; |
rommem[14537] <= 12'hB70; |
rommem[14538] <= 12'h0FC; |
rommem[14539] <= 12'h000; |
rommem[14540] <= 12'h90C; |
rommem[14541] <= 12'h08D; |
rommem[14542] <= 12'hEF8; |
rommem[14543] <= 12'h08D; |
rommem[14544] <= 12'hEFA; |
rommem[14545] <= 12'h0FC; |
rommem[14546] <= 12'h000; |
rommem[14547] <= 12'h90E; |
rommem[14548] <= 12'h0BD; |
rommem[14549] <= 12'hFFD; |
rommem[14550] <= 12'h2CE; |
rommem[14551] <= 12'h08D; |
rommem[14552] <= 12'hEF2; |
rommem[14553] <= 12'h0B6; |
rommem[14554] <= 12'h000; |
rommem[14555] <= 12'h90F; |
rommem[14556] <= 12'h017; |
rommem[14557] <= 12'hFFD; |
rommem[14558] <= 12'h9EF; |
rommem[14559] <= 12'h08D; |
rommem[14560] <= 12'hEEA; |
rommem[14561] <= 12'h016; |
rommem[14562] <= 12'hFFF; |
rommem[14563] <= 12'hA78; |
rommem[14564] <= 12'h017; |
rommem[14565] <= 12'hFFF; |
rommem[14566] <= 12'hB93; |
rommem[14567] <= 12'h017; |
rommem[14568] <= 12'hFFF; |
rommem[14569] <= 12'hCA7; |
rommem[14570] <= 12'h0B6; |
rommem[14571] <= 12'h000; |
rommem[14572] <= 12'h913; |
rommem[14573] <= 12'h0B7; |
rommem[14574] <= 12'h000; |
rommem[14575] <= 12'h900; |
rommem[14576] <= 12'h016; |
rommem[14577] <= 12'hFFF; |
rommem[14578] <= 12'hA69; |
rommem[14579] <= 12'h017; |
rommem[14580] <= 12'hFFF; |
rommem[14581] <= 12'hB84; |
rommem[14582] <= 12'h017; |
rommem[14583] <= 12'hFFF; |
rommem[14584] <= 12'hC98; |
rommem[14585] <= 12'h0B6; |
rommem[14586] <= 12'h000; |
rommem[14587] <= 12'h913; |
rommem[14588] <= 12'h0B7; |
rommem[14589] <= 12'h000; |
rommem[14590] <= 12'h901; |
rommem[14591] <= 12'h016; |
rommem[14592] <= 12'hFFF; |
rommem[14593] <= 12'hA5A; |
rommem[14594] <= 12'h017; |
rommem[14595] <= 12'hFFF; |
rommem[14596] <= 12'hB75; |
rommem[14597] <= 12'h017; |
rommem[14598] <= 12'hFFF; |
rommem[14599] <= 12'hC89; |
rommem[14600] <= 12'h0FC; |
rommem[14601] <= 12'h000; |
rommem[14602] <= 12'h912; |
rommem[14603] <= 12'h0FD; |
rommem[14604] <= 12'h000; |
rommem[14605] <= 12'h900; |
rommem[14606] <= 12'h016; |
rommem[14607] <= 12'hFFF; |
rommem[14608] <= 12'hA4B; |
rommem[14609] <= 12'h017; |
rommem[14610] <= 12'hFFF; |
rommem[14611] <= 12'hB66; |
rommem[14612] <= 12'h017; |
rommem[14613] <= 12'hFFF; |
rommem[14614] <= 12'hC7A; |
rommem[14615] <= 12'h0FC; |
rommem[14616] <= 12'h000; |
rommem[14617] <= 12'h912; |
rommem[14618] <= 12'h0FD; |
rommem[14619] <= 12'h000; |
rommem[14620] <= 12'h902; |
rommem[14621] <= 12'h016; |
rommem[14622] <= 12'hFFF; |
rommem[14623] <= 12'hA3C; |
rommem[14624] <= 12'h017; |
rommem[14625] <= 12'hFFF; |
rommem[14626] <= 12'hB57; |
rommem[14627] <= 12'h017; |
rommem[14628] <= 12'hFFF; |
rommem[14629] <= 12'hC6B; |
rommem[14630] <= 12'h0FC; |
rommem[14631] <= 12'h000; |
rommem[14632] <= 12'h912; |
rommem[14633] <= 12'h0FD; |
rommem[14634] <= 12'h000; |
rommem[14635] <= 12'h904; |
rommem[14636] <= 12'h016; |
rommem[14637] <= 12'hFFF; |
rommem[14638] <= 12'hA2D; |
rommem[14639] <= 12'h017; |
rommem[14640] <= 12'hFFF; |
rommem[14641] <= 12'hB48; |
rommem[14642] <= 12'h017; |
rommem[14643] <= 12'hFFF; |
rommem[14644] <= 12'hC5C; |
rommem[14645] <= 12'h0FC; |
rommem[14646] <= 12'h000; |
rommem[14647] <= 12'h912; |
rommem[14648] <= 12'h0FD; |
rommem[14649] <= 12'h000; |
rommem[14650] <= 12'h906; |
rommem[14651] <= 12'h016; |
rommem[14652] <= 12'hFFF; |
rommem[14653] <= 12'hA1E; |
rommem[14654] <= 12'h017; |
rommem[14655] <= 12'hFFF; |
rommem[14656] <= 12'hB39; |
rommem[14657] <= 12'h017; |
rommem[14658] <= 12'hFFF; |
rommem[14659] <= 12'hC4D; |
rommem[14660] <= 12'h0FC; |
rommem[14661] <= 12'h000; |
rommem[14662] <= 12'h912; |
rommem[14663] <= 12'h0FD; |
rommem[14664] <= 12'h000; |
rommem[14665] <= 12'h908; |
rommem[14666] <= 12'h016; |
rommem[14667] <= 12'hFFF; |
rommem[14668] <= 12'hA0F; |
rommem[14669] <= 12'h017; |
rommem[14670] <= 12'hFFF; |
rommem[14671] <= 12'hB2A; |
rommem[14672] <= 12'h017; |
rommem[14673] <= 12'hFFF; |
rommem[14674] <= 12'hC3E; |
rommem[14675] <= 12'h0B6; |
rommem[14676] <= 12'h000; |
rommem[14677] <= 12'h913; |
rommem[14678] <= 12'h0B7; |
rommem[14679] <= 12'h000; |
rommem[14680] <= 12'h90E; |
rommem[14681] <= 12'h016; |
rommem[14682] <= 12'hFFF; |
rommem[14683] <= 12'hA00; |
rommem[14684] <= 12'h017; |
rommem[14685] <= 12'hFFF; |
rommem[14686] <= 12'hB1B; |
rommem[14687] <= 12'h017; |
rommem[14688] <= 12'hFFF; |
rommem[14689] <= 12'hC2F; |
rommem[14690] <= 12'h0B6; |
rommem[14691] <= 12'h000; |
rommem[14692] <= 12'h913; |
rommem[14693] <= 12'h0B7; |
rommem[14694] <= 12'h000; |
rommem[14695] <= 12'h90F; |
rommem[14696] <= 12'h016; |
rommem[14697] <= 12'hFFF; |
rommem[14698] <= 12'h9F1; |
rommem[14699] <= 12'h017; |
rommem[14700] <= 12'hFFF; |
rommem[14701] <= 12'hB0C; |
rommem[14702] <= 12'h017; |
rommem[14703] <= 12'hFFF; |
rommem[14704] <= 12'hC20; |
rommem[14705] <= 12'h0FC; |
rommem[14706] <= 12'h000; |
rommem[14707] <= 12'h912; |
rommem[14708] <= 12'h0FD; |
rommem[14709] <= 12'h000; |
rommem[14710] <= 12'h90C; |
rommem[14711] <= 12'h0F6; |
rommem[14712] <= 12'h000; |
rommem[14713] <= 12'h911; |
rommem[14714] <= 12'h0F7; |
rommem[14715] <= 12'h000; |
rommem[14716] <= 12'h90B; |
rommem[14717] <= 12'h016; |
rommem[14718] <= 12'hFFF; |
rommem[14719] <= 12'h9DC; |
rommem[14720] <= 12'h017; |
rommem[14721] <= 12'hFFF; |
rommem[14722] <= 12'hAF7; |
rommem[14723] <= 12'h017; |
rommem[14724] <= 12'hFFF; |
rommem[14725] <= 12'hC0B; |
rommem[14726] <= 12'h01A; |
rommem[14727] <= 12'h010; |
rommem[14728] <= 12'h1FE; |
rommem[14729] <= 12'h000; |
rommem[14730] <= 12'h908; |
rommem[14731] <= 12'h0CC; |
rommem[14732] <= 12'hFFF; |
rommem[14733] <= 12'h9BA; |
rommem[14734] <= 12'h034; |
rommem[14735] <= 12'h006; |
rommem[14736] <= 12'h0C6; |
rommem[14737] <= 12'h000; |
rommem[14738] <= 12'h034; |
rommem[14739] <= 12'h004; |
rommem[14740] <= 12'h0FC; |
rommem[14741] <= 12'h000; |
rommem[14742] <= 12'h906; |
rommem[14743] <= 12'h034; |
rommem[14744] <= 12'h006; |
rommem[14745] <= 12'h0FC; |
rommem[14746] <= 12'h000; |
rommem[14747] <= 12'h904; |
rommem[14748] <= 12'h034; |
rommem[14749] <= 12'h006; |
rommem[14750] <= 12'h0FC; |
rommem[14751] <= 12'h000; |
rommem[14752] <= 12'h902; |
rommem[14753] <= 12'h034; |
rommem[14754] <= 12'h006; |
rommem[14755] <= 12'h0B6; |
rommem[14756] <= 12'h000; |
rommem[14757] <= 12'h90E; |
rommem[14758] <= 12'h034; |
rommem[14759] <= 12'h002; |
rommem[14760] <= 12'h0FC; |
rommem[14761] <= 12'h000; |
rommem[14762] <= 12'h900; |
rommem[14763] <= 12'h034; |
rommem[14764] <= 12'h006; |
rommem[14765] <= 12'h0B6; |
rommem[14766] <= 12'h000; |
rommem[14767] <= 12'h90F; |
rommem[14768] <= 12'h034; |
rommem[14769] <= 12'h002; |
rommem[14770] <= 12'h015; |
rommem[14771] <= 12'h035; |
rommem[14772] <= 12'h07F; |
rommem[14773] <= 12'h015; |
rommem[14774] <= 12'h06E; |
rommem[14775] <= 12'h90F; |
rommem[14776] <= 12'h000; |
rommem[14777] <= 12'h911; |
rommem[14778] <= 12'h1FF; |
rommem[14779] <= 12'h000; |
rommem[14780] <= 12'h908; |
rommem[14781] <= 12'h032; |
rommem[14782] <= 12'h80F; |
rommem[14783] <= 12'h006; |
rommem[14784] <= 12'hFFF; |
rommem[14785] <= 12'h034; |
rommem[14786] <= 12'h001; |
rommem[14787] <= 12'h034; |
rommem[14788] <= 12'h002; |
rommem[14789] <= 12'h01F; |
rommem[14790] <= 12'h0B8; |
rommem[14791] <= 12'h0B7; |
rommem[14792] <= 12'h000; |
rommem[14793] <= 12'h90E; |
rommem[14794] <= 12'h04F; |
rommem[14795] <= 12'h01F; |
rommem[14796] <= 12'h08B; |
rommem[14797] <= 12'h035; |
rommem[14798] <= 12'h002; |
rommem[14799] <= 12'h0FD; |
rommem[14800] <= 12'h000; |
rommem[14801] <= 12'h900; |
rommem[14802] <= 12'h0BF; |
rommem[14803] <= 12'h000; |
rommem[14804] <= 12'h902; |
rommem[14805] <= 12'h1BF; |
rommem[14806] <= 12'h000; |
rommem[14807] <= 12'h904; |
rommem[14808] <= 12'h0FF; |
rommem[14809] <= 12'h000; |
rommem[14810] <= 12'h906; |
rommem[14811] <= 12'h035; |
rommem[14812] <= 12'h002; |
rommem[14813] <= 12'h0B7; |
rommem[14814] <= 12'h000; |
rommem[14815] <= 12'h90F; |
rommem[14816] <= 12'h0CC; |
rommem[14817] <= 12'hFFE; |
rommem[14818] <= 12'hC73; |
rommem[14819] <= 12'h0FD; |
rommem[14820] <= 12'h000; |
rommem[14821] <= 12'h804; |
rommem[14822] <= 12'h0CC; |
rommem[14823] <= 12'hFFE; |
rommem[14824] <= 12'h31C; |
rommem[14825] <= 12'h0FD; |
rommem[14826] <= 12'h000; |
rommem[14827] <= 12'h800; |
rommem[14828] <= 12'h0FC; |
rommem[14829] <= 12'hFFF; |
rommem[14830] <= 12'h5E5; |
rommem[14831] <= 12'h0FD; |
rommem[14832] <= 12'h000; |
rommem[14833] <= 12'h80C; |
rommem[14834] <= 12'h016; |
rommem[14835] <= 12'hFFF; |
rommem[14836] <= 12'hEA4; |
rommem[14837] <= 12'h08E; |
rommem[14838] <= 12'h000; |
rommem[14839] <= 12'h000; |
rommem[14840] <= 12'h0E6; |
rommem[14841] <= 12'h80A; |
rommem[14842] <= 12'h000; |
rommem[14843] <= 12'hFFC; |
rommem[14844] <= 12'h000; |
rommem[14845] <= 12'h0C1; |
rommem[14846] <= 12'h018; |
rommem[14847] <= 12'h026; |
rommem[14848] <= 12'h00A; |
rommem[14849] <= 12'h01F; |
rommem[14850] <= 12'h010; |
rommem[14851] <= 12'h017; |
rommem[14852] <= 12'hFFE; |
rommem[14853] <= 12'hA34; |
rommem[14854] <= 12'h0C6; |
rommem[14855] <= 12'h020; |
rommem[14856] <= 12'h017; |
rommem[14857] <= 12'hFFF; |
rommem[14858] <= 12'h7BE; |
rommem[14859] <= 12'h030; |
rommem[14860] <= 12'h001; |
rommem[14861] <= 12'h08C; |
rommem[14862] <= 12'h000; |
rommem[14863] <= 12'h010; |
rommem[14864] <= 12'h025; |
rommem[14865] <= 12'hFE6; |
rommem[14866] <= 12'h017; |
rommem[14867] <= 12'hFFD; |
rommem[14868] <= 12'h6BD; |
rommem[14869] <= 12'h016; |
rommem[14870] <= 12'hFFF; |
rommem[14871] <= 12'h944; |
rommem[14872] <= 12'h000; |
rommem[14873] <= 12'hFFC; |
rommem[14874] <= 12'h0FF; |
rommem[14875] <= 12'h000; |
rommem[14876] <= 12'h008; |
rommem[14877] <= 12'hFFF; |
rommem[14878] <= 12'hA1F; |
rommem[14879] <= 12'hFFF; |
rommem[14880] <= 12'h35C; |
rommem[14881] <= 12'hFFF; |
rommem[14882] <= 12'h191; |
rommem[14883] <= 12'hFFF; |
rommem[14884] <= 12'h1C9; |
rommem[14885] <= 12'hFFD; |
rommem[14886] <= 12'h0D2; |
rommem[14887] <= 12'hFFE; |
rommem[14888] <= 12'h3DD; |
rommem[14889] <= 12'hFFE; |
rommem[14890] <= 12'h43A; |
rommem[14891] <= 12'hFFE; |
rommem[14892] <= 12'h431; |
rommem[14893] <= 12'hFFF; |
rommem[14894] <= 12'h1D3; |
rommem[14895] <= 12'hFFF; |
rommem[14896] <= 12'h257; |
rommem[14897] <= 12'hFFF; |
rommem[14898] <= 12'h285; |
rommem[14899] <= 12'h000; |
rommem[14900] <= 12'h000; |
rommem[14901] <= 12'hFFF; |
rommem[14902] <= 12'h4D2; |
rommem[14903] <= 12'hFFF; |
rommem[14904] <= 12'h591; |
rommem[14905] <= 12'hFFE; |
rommem[14906] <= 12'hC9A; |
rommem[14907] <= 12'h000; |
rommem[14908] <= 12'h800; |
rommem[14909] <= 12'h000; |
rommem[14910] <= 12'h000; |
rommem[14911] <= 12'h000; |
rommem[14912] <= 12'h000; |
rommem[14913] <= 12'h000; |
rommem[14914] <= 12'h000; |
rommem[14915] <= 12'h000; |
rommem[14916] <= 12'hC00; |
rommem[14917] <= 12'hC00; |
rommem[14918] <= 12'h000; |
rommem[14919] <= 12'h800; |
rommem[14920] <= 12'h000; |
rommem[14921] <= 12'h0E6; |
rommem[14922] <= 12'h80C; |
rommem[14923] <= 12'hFCC; |
rommem[14924] <= 12'h01F; |
rommem[14925] <= 12'h09B; |
rommem[14926] <= 12'h0EE; |
rommem[14927] <= 12'h60B; |
rommem[14928] <= 12'h033; |
rommem[14929] <= 12'h5FF; |
rommem[14930] <= 12'h07D; |
rommem[14931] <= 12'h000; |
rommem[14932] <= 12'h810; |
rommem[14933] <= 12'h027; |
rommem[14934] <= 12'h00F; |
rommem[14935] <= 12'h18E; |
rommem[14936] <= 12'h000; |
rommem[14937] <= 12'h820; |
rommem[14938] <= 12'h0F6; |
rommem[14939] <= 12'h000; |
rommem[14940] <= 12'h811; |
rommem[14941] <= 12'h027; |
rommem[14942] <= 12'h007; |
rommem[14943] <= 12'h2A3; |
rommem[14944] <= 12'hA01; |
rommem[14945] <= 12'h027; |
rommem[14946] <= 12'h04B; |
rommem[14947] <= 12'h05A; |
rommem[14948] <= 12'h026; |
rommem[14949] <= 12'hFF9; |
rommem[14950] <= 12'h07F; |
rommem[14951] <= 12'h000; |
rommem[14952] <= 12'h810; |
rommem[14953] <= 12'h037; |
rommem[14954] <= 12'h006; |
rommem[14955] <= 12'h0C1; |
rommem[14956] <= 12'h00F; |
rommem[14957] <= 12'h122; |
rommem[14958] <= 12'hFFF; |
rommem[14959] <= 12'hB75; |
rommem[14960] <= 12'h0EF; |
rommem[14961] <= 12'h60B; |
rommem[14962] <= 12'h0C1; |
rommem[14963] <= 12'h00A; |
rommem[14964] <= 12'h027; |
rommem[14965] <= 12'h072; |
rommem[14966] <= 12'h058; |
rommem[14967] <= 12'h0AE; |
rommem[14968] <= 12'h80C; |
rommem[14969] <= 12'hFA3; |
rommem[14970] <= 12'h03A; |
rommem[14971] <= 12'h0AE; |
rommem[14972] <= 12'h804; |
rommem[14973] <= 12'h0BF; |
rommem[14974] <= 12'h000; |
rommem[14975] <= 12'h928; |
rommem[14976] <= 12'h054; |
rommem[14977] <= 12'h08E; |
rommem[14978] <= 12'hFFF; |
rommem[14979] <= 12'hA3B; |
rommem[14980] <= 12'h03A; |
rommem[14981] <= 12'h0E6; |
rommem[14982] <= 12'h804; |
rommem[14983] <= 12'h0F7; |
rommem[14984] <= 12'h000; |
rommem[14985] <= 12'h930; |
rommem[14986] <= 12'h1FF; |
rommem[14987] <= 12'h000; |
rommem[14988] <= 12'h908; |
rommem[14989] <= 12'h0EC; |
rommem[14990] <= 12'h601; |
rommem[14991] <= 12'h0AE; |
rommem[14992] <= 12'h604; |
rommem[14993] <= 12'h1AE; |
rommem[14994] <= 12'h606; |
rommem[14995] <= 12'h0EE; |
rommem[14996] <= 12'h608; |
rommem[14997] <= 12'h1EE; |
rommem[14998] <= 12'h80C; |
rommem[14999] <= 12'hF81; |
rommem[15000] <= 12'h0AD; |
rommem[15001] <= 12'h90F; |
rommem[15002] <= 12'h000; |
rommem[15003] <= 12'h928; |
rommem[15004] <= 12'h1FE; |
rommem[15005] <= 12'h000; |
rommem[15006] <= 12'h908; |
rommem[15007] <= 12'h07D; |
rommem[15008] <= 12'h000; |
rommem[15009] <= 12'h930; |
rommem[15010] <= 12'h02A; |
rommem[15011] <= 12'h009; |
rommem[15012] <= 12'h0ED; |
rommem[15013] <= 12'h601; |
rommem[15014] <= 12'h078; |
rommem[15015] <= 12'h000; |
rommem[15016] <= 12'h930; |
rommem[15017] <= 12'h02A; |
rommem[15018] <= 12'h002; |
rommem[15019] <= 12'h0AF; |
rommem[15020] <= 12'h604; |
rommem[15021] <= 12'h03B; |
rommem[15022] <= 12'h0A6; |
rommem[15023] <= 12'hE04; |
rommem[15024] <= 12'h0B7; |
rommem[15025] <= 12'h000; |
rommem[15026] <= 12'h90F; |
rommem[15027] <= 12'h0EC; |
rommem[15028] <= 12'h601; |
rommem[15029] <= 12'h0FD; |
rommem[15030] <= 12'h000; |
rommem[15031] <= 12'h900; |
rommem[15032] <= 12'h0E6; |
rommem[15033] <= 12'h603; |
rommem[15034] <= 12'h0F7; |
rommem[15035] <= 12'h000; |
rommem[15036] <= 12'h90E; |
rommem[15037] <= 12'h0EC; |
rommem[15038] <= 12'h604; |
rommem[15039] <= 12'h0FD; |
rommem[15040] <= 12'h000; |
rommem[15041] <= 12'h902; |
rommem[15042] <= 12'h0EC; |
rommem[15043] <= 12'h606; |
rommem[15044] <= 12'h0FD; |
rommem[15045] <= 12'h000; |
rommem[15046] <= 12'h904; |
rommem[15047] <= 12'h0EC; |
rommem[15048] <= 12'h608; |
rommem[15049] <= 12'h0FD; |
rommem[15050] <= 12'h000; |
rommem[15051] <= 12'h906; |
rommem[15052] <= 12'h1FF; |
rommem[15053] <= 12'h000; |
rommem[15054] <= 12'h908; |
rommem[15055] <= 12'h0E6; |
rommem[15056] <= 12'h60A; |
rommem[15057] <= 12'h0F7; |
rommem[15058] <= 12'h000; |
rommem[15059] <= 12'h90A; |
rommem[15060] <= 12'h0EC; |
rommem[15061] <= 12'h60B; |
rommem[15062] <= 12'h0FD; |
rommem[15063] <= 12'h000; |
rommem[15064] <= 12'h90B; |
rommem[15065] <= 12'h1EE; |
rommem[15066] <= 12'h80C; |
rommem[15067] <= 12'hF3D; |
rommem[15068] <= 12'h0CC; |
rommem[15069] <= 12'hFFF; |
rommem[15070] <= 12'hA9C; |
rommem[15071] <= 12'h034; |
rommem[15072] <= 12'h006; |
rommem[15073] <= 12'h08D; |
rommem[15074] <= 12'h01F; |
rommem[15075] <= 12'h016; |
rommem[15076] <= 12'hFFF; |
rommem[15077] <= 12'hDB3; |
rommem[15078] <= 12'h020; |
rommem[15079] <= 12'h039; |
rommem[15080] <= 12'h033; |
rommem[15081] <= 12'h401; |
rommem[15082] <= 12'h0E6; |
rommem[15083] <= 12'hC00; |
rommem[15084] <= 12'h0C1; |
rommem[15085] <= 12'h019; |
rommem[15086] <= 12'h122; |
rommem[15087] <= 12'hFFF; |
rommem[15088] <= 12'hAF4; |
rommem[15089] <= 12'h0EF; |
rommem[15090] <= 12'h60B; |
rommem[15091] <= 12'h058; |
rommem[15092] <= 12'h08E; |
rommem[15093] <= 12'hFFF; |
rommem[15094] <= 12'h1DE; |
rommem[15095] <= 12'h06D; |
rommem[15096] <= 12'hE0F; |
rommem[15097] <= 12'h027; |
rommem[15098] <= 12'hFA1; |
rommem[15099] <= 12'h0AD; |
rommem[15100] <= 12'hF0F; |
rommem[15101] <= 12'h07F; |
rommem[15102] <= 12'hEF0; |
rommem[15103] <= 12'h011; |
rommem[15104] <= 12'h020; |
rommem[15105] <= 12'hF9A; |
rommem[15106] <= 12'h034; |
rommem[15107] <= 12'h036; |
rommem[15108] <= 12'h18E; |
rommem[15109] <= 12'h000; |
rommem[15110] <= 12'h000; |
rommem[15111] <= 12'h05F; |
rommem[15112] <= 12'h08E; |
rommem[15113] <= 12'h000; |
rommem[15114] <= 12'h830; |
rommem[15115] <= 12'h0C1; |
rommem[15116] <= 12'hA1B; |
rommem[15117] <= 12'h024; |
rommem[15118] <= 12'h010; |
rommem[15119] <= 12'h0F1; |
rommem[15120] <= 12'h000; |
rommem[15121] <= 12'h811; |
rommem[15122] <= 12'h024; |
rommem[15123] <= 12'h00B; |
rommem[15124] <= 12'h0A6; |
rommem[15125] <= 12'h837; |
rommem[15126] <= 12'h0A7; |
rommem[15127] <= 12'hB09; |
rommem[15128] <= 12'h000; |
rommem[15129] <= 12'h820; |
rommem[15130] <= 12'h031; |
rommem[15131] <= 12'h202; |
rommem[15132] <= 12'h05C; |
rommem[15133] <= 12'h020; |
rommem[15134] <= 12'hFEC; |
rommem[15135] <= 12'h035; |
rommem[15136] <= 12'h0B6; |
rommem[15137] <= 12'h034; |
rommem[15138] <= 12'h036; |
rommem[15139] <= 12'h18E; |
rommem[15140] <= 12'h000; |
rommem[15141] <= 12'h000; |
rommem[15142] <= 12'h05F; |
rommem[15143] <= 12'h08E; |
rommem[15144] <= 12'h000; |
rommem[15145] <= 12'h830; |
rommem[15146] <= 12'h0F1; |
rommem[15147] <= 12'hFFF; |
rommem[15148] <= 12'hA1B; |
rommem[15149] <= 12'h024; |
rommem[15150] <= 12'h010; |
rommem[15151] <= 12'h0F1; |
rommem[15152] <= 12'h000; |
rommem[15153] <= 12'h811; |
rommem[15154] <= 12'h024; |
rommem[15155] <= 12'h00B; |
rommem[15156] <= 12'h0A6; |
rommem[15157] <= 12'hB09; |
rommem[15158] <= 12'h000; |
rommem[15159] <= 12'h820; |
rommem[15160] <= 12'h0A7; |
rommem[15161] <= 12'hB0D; |
rommem[15162] <= 12'h031; |
rommem[15163] <= 12'h202; |
rommem[15164] <= 12'h05C; |
rommem[15165] <= 12'h020; |
rommem[15166] <= 12'hFEB; |
rommem[15167] <= 12'h035; |
rommem[15168] <= 12'h0B6; |
rommem[15169] <= 12'h034; |
rommem[15170] <= 12'h036; |
rommem[15171] <= 12'h0B6; |
rommem[15172] <= 12'h000; |
rommem[15173] <= 12'h811; |
rommem[15174] <= 12'h0B1; |
rommem[15175] <= 12'hFFF; |
rommem[15176] <= 12'hA1B; |
rommem[15177] <= 12'h124; |
rommem[15178] <= 12'hFFF; |
rommem[15179] <= 12'hA99; |
rommem[15180] <= 12'h017; |
rommem[15181] <= 12'hFFF; |
rommem[15182] <= 12'h92B; |
rommem[15183] <= 12'h017; |
rommem[15184] <= 12'hFFF; |
rommem[15185] <= 12'h9A9; |
rommem[15186] <= 12'h05D; |
rommem[15187] <= 12'h12B; |
rommem[15188] <= 12'hFFF; |
rommem[15189] <= 12'hA8F; |
rommem[15190] <= 12'h0F6; |
rommem[15191] <= 12'h000; |
rommem[15192] <= 12'h811; |
rommem[15193] <= 12'h1BE; |
rommem[15194] <= 12'h000; |
rommem[15195] <= 12'h912; |
rommem[15196] <= 12'h0A6; |
rommem[15197] <= 12'hA04; |
rommem[15198] <= 12'h08E; |
rommem[15199] <= 12'h000; |
rommem[15200] <= 12'h830; |
rommem[15201] <= 12'h0A7; |
rommem[15202] <= 12'hA05; |
rommem[15203] <= 12'h086; |
rommem[15204] <= 12'h03F; |
rommem[15205] <= 12'h0A7; |
rommem[15206] <= 12'hA04; |
rommem[15207] <= 12'h08E; |
rommem[15208] <= 12'h000; |
rommem[15209] <= 12'h820; |
rommem[15210] <= 12'h058; |
rommem[15211] <= 12'h1AF; |
rommem[15212] <= 12'hA05; |
rommem[15213] <= 12'h054; |
rommem[15214] <= 12'h05C; |
rommem[15215] <= 12'h0F7; |
rommem[15216] <= 12'h000; |
rommem[15217] <= 12'h811; |
rommem[15218] <= 12'h035; |
rommem[15219] <= 12'h036; |
rommem[15220] <= 12'h016; |
rommem[15221] <= 12'hFFF; |
rommem[15222] <= 12'h7E5; |
rommem[15223] <= 12'h034; |
rommem[15224] <= 12'h076; |
rommem[15225] <= 12'h017; |
rommem[15226] <= 12'hFFF; |
rommem[15227] <= 12'h8FE; |
rommem[15228] <= 12'h017; |
rommem[15229] <= 12'hFFF; |
rommem[15230] <= 12'h97C; |
rommem[15231] <= 12'h05D; |
rommem[15232] <= 12'h12B; |
rommem[15233] <= 12'hFFF; |
rommem[15234] <= 12'h7D9; |
rommem[15235] <= 12'h05F; |
rommem[15236] <= 12'h05F; |
rommem[15237] <= 12'h01F; |
rommem[15238] <= 12'h001; |
rommem[15239] <= 12'h0F1; |
rommem[15240] <= 12'hFFF; |
rommem[15241] <= 12'hA1B; |
rommem[15242] <= 12'h024; |
rommem[15243] <= 12'h041; |
rommem[15244] <= 12'h0F1; |
rommem[15245] <= 12'h000; |
rommem[15246] <= 12'h811; |
rommem[15247] <= 12'h024; |
rommem[15248] <= 12'h03C; |
rommem[15249] <= 12'h1AE; |
rommem[15250] <= 12'h809; |
rommem[15251] <= 12'h000; |
rommem[15252] <= 12'h820; |
rommem[15253] <= 12'h1BC; |
rommem[15254] <= 12'h000; |
rommem[15255] <= 12'h912; |
rommem[15256] <= 12'h026; |
rommem[15257] <= 12'h02E; |
rommem[15258] <= 12'h0BE; |
rommem[15259] <= 12'h000; |
rommem[15260] <= 12'h912; |
rommem[15261] <= 12'h18E; |
rommem[15262] <= 12'h000; |
rommem[15263] <= 12'h830; |
rommem[15264] <= 12'h0A6; |
rommem[15265] <= 12'hA0D; |
rommem[15266] <= 12'h0A7; |
rommem[15267] <= 12'h804; |
rommem[15268] <= 12'h07A; |
rommem[15269] <= 12'h000; |
rommem[15270] <= 12'h811; |
rommem[15271] <= 12'h034; |
rommem[15272] <= 12'h004; |
rommem[15273] <= 12'h05C; |
rommem[15274] <= 12'h0A6; |
rommem[15275] <= 12'hA05; |
rommem[15276] <= 12'h05A; |
rommem[15277] <= 12'h0A7; |
rommem[15278] <= 12'hA05; |
rommem[15279] <= 12'h05C; |
rommem[15280] <= 12'h0F1; |
rommem[15281] <= 12'hFFF; |
rommem[15282] <= 12'hA1B; |
rommem[15283] <= 12'h025; |
rommem[15284] <= 12'hFF4; |
rommem[15285] <= 12'h035; |
rommem[15286] <= 12'h004; |
rommem[15287] <= 12'h058; |
rommem[15288] <= 12'h04F; |
rommem[15289] <= 12'h01F; |
rommem[15290] <= 12'h002; |
rommem[15291] <= 12'h054; |
rommem[15292] <= 12'h0EE; |
rommem[15293] <= 12'h202; |
rommem[15294] <= 12'h0EF; |
rommem[15295] <= 12'hA01; |
rommem[15296] <= 12'h05C; |
rommem[15297] <= 12'h0F1; |
rommem[15298] <= 12'hFFF; |
rommem[15299] <= 12'hA1B; |
rommem[15300] <= 12'h025; |
rommem[15301] <= 12'hFF6; |
rommem[15302] <= 12'h035; |
rommem[15303] <= 12'h0F6; |
rommem[15304] <= 12'h030; |
rommem[15305] <= 12'h002; |
rommem[15306] <= 12'h05C; |
rommem[15307] <= 12'h020; |
rommem[15308] <= 12'hFBA; |
rommem[15309] <= 12'h035; |
rommem[15310] <= 12'h076; |
rommem[15311] <= 12'h016; |
rommem[15312] <= 12'hFFF; |
rommem[15313] <= 12'h78A; |
rommem[15314] <= 12'h034; |
rommem[15315] <= 12'h016; |
rommem[15316] <= 12'h03F; |
rommem[15317] <= 12'h003; |
rommem[15318] <= 12'h08E; |
rommem[15319] <= 12'h000; |
rommem[15320] <= 12'h000; |
rommem[15321] <= 12'h0C6; |
rommem[15322] <= 12'h000; |
rommem[15323] <= 12'h0F1; |
rommem[15324] <= 12'hFFF; |
rommem[15325] <= 12'hA1B; |
rommem[15326] <= 12'h024; |
rommem[15327] <= 12'h016; |
rommem[15328] <= 12'h0F1; |
rommem[15329] <= 12'h000; |
rommem[15330] <= 12'h811; |
rommem[15331] <= 12'h024; |
rommem[15332] <= 12'h011; |
rommem[15333] <= 12'h0EC; |
rommem[15334] <= 12'h809; |
rommem[15335] <= 12'h000; |
rommem[15336] <= 12'h820; |
rommem[15337] <= 12'h030; |
rommem[15338] <= 12'h002; |
rommem[15339] <= 12'h05C; |
rommem[15340] <= 12'h034; |
rommem[15341] <= 12'h004; |
rommem[15342] <= 12'h03F; |
rommem[15343] <= 12'h006; |
rommem[15344] <= 12'h03F; |
rommem[15345] <= 12'h003; |
rommem[15346] <= 12'h035; |
rommem[15347] <= 12'h004; |
rommem[15348] <= 12'h020; |
rommem[15349] <= 12'hFE5; |
rommem[15350] <= 12'h035; |
rommem[15351] <= 12'h016; |
rommem[15352] <= 12'h016; |
rommem[15353] <= 12'hFFF; |
rommem[15354] <= 12'h761; |
rommem[15355] <= 12'h01A; |
rommem[15356] <= 12'h010; |
rommem[15357] <= 12'h0A6; |
rommem[15358] <= 12'hE04; |
rommem[15359] <= 12'h0B7; |
rommem[15360] <= 12'h000; |
rommem[15361] <= 12'h90F; |
rommem[15362] <= 12'h0EC; |
rommem[15363] <= 12'h601; |
rommem[15364] <= 12'h0FD; |
rommem[15365] <= 12'h000; |
rommem[15366] <= 12'h900; |
rommem[15367] <= 12'h0E6; |
rommem[15368] <= 12'h603; |
rommem[15369] <= 12'h0F7; |
rommem[15370] <= 12'h000; |
rommem[15371] <= 12'h90E; |
rommem[15372] <= 12'h0EC; |
rommem[15373] <= 12'h604; |
rommem[15374] <= 12'h0FD; |
rommem[15375] <= 12'h000; |
rommem[15376] <= 12'h902; |
rommem[15377] <= 12'h0EC; |
rommem[15378] <= 12'h606; |
rommem[15379] <= 12'h0FD; |
rommem[15380] <= 12'h000; |
rommem[15381] <= 12'h904; |
rommem[15382] <= 12'h0EC; |
rommem[15383] <= 12'h608; |
rommem[15384] <= 12'h0FD; |
rommem[15385] <= 12'h000; |
rommem[15386] <= 12'h906; |
rommem[15387] <= 12'h1FF; |
rommem[15388] <= 12'h000; |
rommem[15389] <= 12'h908; |
rommem[15390] <= 12'h0EC; |
rommem[15391] <= 12'h60B; |
rommem[15392] <= 12'h0FD; |
rommem[15393] <= 12'h000; |
rommem[15394] <= 12'h90A; |
rommem[15395] <= 12'h1FF; |
rommem[15396] <= 12'h000; |
rommem[15397] <= 12'h908; |
rommem[15398] <= 12'h1CE; |
rommem[15399] <= 12'h003; |
rommem[15400] <= 12'hFFF; |
rommem[15401] <= 12'h0CC; |
rommem[15402] <= 12'hFFF; |
rommem[15403] <= 12'hC33; |
rommem[15404] <= 12'h034; |
rommem[15405] <= 12'h006; |
rommem[15406] <= 12'h01C; |
rommem[15407] <= 12'h0EF; |
rommem[15408] <= 12'h07E; |
rommem[15409] <= 12'hFFF; |
rommem[15410] <= 12'h899; |
rommem[15411] <= 12'h1FE; |
rommem[15412] <= 12'h000; |
rommem[15413] <= 12'h908; |
rommem[15414] <= 12'h03B; |
rommem[15415] <= 12'h03B; |
rommem[15416] <= 12'h04F; |
rommem[15417] <= 12'h01F; |
rommem[15418] <= 12'h08B; |
rommem[15419] <= 12'h017; |
rommem[15420] <= 12'hFFE; |
rommem[15421] <= 12'h855; |
rommem[15422] <= 12'h0B6; |
rommem[15423] <= 12'hFFC; |
rommem[15424] <= 12'h014; |
rommem[15425] <= 12'h044; |
rommem[15426] <= 12'h0BA; |
rommem[15427] <= 12'hFFC; |
rommem[15428] <= 12'h014; |
rommem[15429] <= 12'h084; |
rommem[15430] <= 12'hFE0; |
rommem[15431] <= 12'h0B7; |
rommem[15432] <= 12'hFFC; |
rommem[15433] <= 12'h014; |
rommem[15434] <= 12'h015; |
rommem[15435] <= 12'h0B6; |
rommem[15436] <= 12'hFFF; |
rommem[15437] <= 12'hFFF; |
rommem[15438] <= 12'hFE0; |
rommem[15439] <= 12'h0B1; |
rommem[15440] <= 12'hFFC; |
rommem[15441] <= 12'h010; |
rommem[15442] <= 12'h026; |
rommem[15443] <= 12'h00D; |
rommem[15444] <= 12'h096; |
rommem[15445] <= 12'h114; |
rommem[15446] <= 12'h027; |
rommem[15447] <= 12'h009; |
rommem[15448] <= 12'h017; |
rommem[15449] <= 12'hFFE; |
rommem[15450] <= 12'h69A; |
rommem[15451] <= 12'h01F; |
rommem[15452] <= 12'h002; |
rommem[15453] <= 12'h06C; |
rommem[15454] <= 12'hA09; |
rommem[15455] <= 12'h002; |
rommem[15456] <= 12'h000; |
rommem[15457] <= 12'h03B; |
rommem[15458] <= 12'h015; |
rommem[15459] <= 12'h0F6; |
rommem[15460] <= 12'hFFF; |
rommem[15461] <= 12'hFFF; |
rommem[15462] <= 12'hFE0; |
rommem[15463] <= 12'h086; |
rommem[15464] <= 12'h049; |
rommem[15465] <= 12'h08E; |
rommem[15466] <= 12'hE00; |
rommem[15467] <= 12'h028; |
rommem[15468] <= 12'h0A7; |
rommem[15469] <= 12'hA0D; |
rommem[15470] <= 12'h03B; |
rommem[16368] <= 12'hFFF; |
rommem[16369] <= 12'h824; |
rommem[16369] <= 12'hC6E; |
rommem[16370] <= 12'hFFF; |
rommem[16371] <= 12'h7CB; |
rommem[16371] <= 12'hBFB; |
rommem[16372] <= 12'hFFF; |
rommem[16373] <= 12'h824; |
rommem[16373] <= 12'hC6E; |
rommem[16374] <= 12'hFFF; |
rommem[16375] <= 12'h807; |
rommem[16375] <= 12'hC37; |
rommem[16376] <= 12'hFFF; |
rommem[16377] <= 12'h808; |
rommem[16377] <= 12'hC38; |
rommem[16378] <= 12'hFFF; |
rommem[16379] <= 12'h65B; |
rommem[16379] <= 12'hA49; |
rommem[16380] <= 12'hFFF; |
rommem[16381] <= 12'h818; |
rommem[16381] <= 12'hC62; |
rommem[16382] <= 12'hFFE; |
rommem[16383] <= 12'h023; |
/trunk/software/boot/io_equates.asm
60,6 → 60,7
ACIA_STAT EQU 1 |
ACIA_CMD EQU 2 |
ACIA_CTRL EQU 3 |
ACIA_IRQS EQU 4 |
ACIA_CTRL2 EQU 11 |
RTC EQU $FFFE30500 ; I2C |
RTCBuf EQU $7FC0 |
/trunk/software/boot/mon_equates.asm
34,6 → 34,16
; |
; ============================================================================ |
; |
; ASCII control characters. |
SOH equ 1 |
EOT equ 4 |
ACK equ 6 |
BS equ 8 |
NAK equ 21 |
ETB equ $17 |
CAN equ 24 |
DEL equ 127 |
|
CR EQU $0D ;ASCII equates |
LF EQU $0A |
TAB EQU $09 |
46,6 → 56,7
CTRLS EQU $13 |
CTRLT EQU $14 |
CTRLX EQU $18 |
CTRLZ EQU $1A |
XON EQU $11 |
XOFF EQU $13 |
|
66,7 → 77,9
MF_Srand EQU 8 |
MF_Random EQU 9 |
MF_OSCALL EQU 10 |
MF_GetRange EQU 11 |
MF_GetRange EQU 11 ; gets a pair of numbers last>first |
MF_GetNumber EQU 12 |
MF_SerialPutchar EQU 13 |
|
mon_numwka EQU $910 |
mon_r1 EQU $920 |
/trunk/software/boot/s19Loader.asm
0,0 → 1,365
; ============================================================================ |
; __ |
; \\__/ o\ (C) 2022 Robert Finch, Waterloo |
; \ __ / All rights reserved. |
; \/_// robfinch<remove>@opencores.org |
; || |
; |
; |
; BSD 3-Clause License |
; Redistribution and use in source and binary forms, with or without |
; modification, are permitted provided that the following conditions are met: |
; |
; 1. Redistributions of source code must retain the above copyright notice, this |
; list of conditions and the following disclaimer. |
; |
; 2. Redistributions in binary form must reproduce the above copyright notice, |
; this list of conditions and the following disclaimer in the documentation |
; and/or other materials provided with the distribution. |
; |
; 3. Neither the name of the copyright holder nor the names of its |
; contributors may be used to endorse or promote products derived from |
; this software without specific prior written permission. |
; |
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
; |
; ============================================================================ |
; |
; S19 variables |
; |
s19Address EQU $940 ; to $943 |
s19StartAddress EQU $944 ; to $947 |
s19Rectype EQU $948 |
s19Reclen EQU $949 |
s19Abort EQU $94A |
s19Checksum EQU $94B |
s19SummaryChecksum EQU $94C |
s19Source EQU $94E |
s19XferAddress EQU $950 ; to $951 |
|
; ------------------------------------------------------------------------------ |
; Input a character either from a file in memory or from the serial port. |
; |
; Parameters: |
; none |
; Returns: |
; accb = character input |
; ------------------------------------------------------------------------------ |
|
s19InputChar: |
tst s19Source |
beq s19ic1 |
ldb [s19XferAddress] |
inc s19XferAddress+1 ; increment low byte of address pointer |
bne s19ic2 |
inc s19XferAddress ; increment high byte of address pointer |
s19ic2: |
rts |
s19ic1: |
ldd #-1 ; block until input is available |
swi |
fcb MF_INCH ; monitor input rout |
rts |
|
; ------------------------------------------------------------------------------ |
; Skip over input to the next record. |
; ------------------------------------------------------------------------------ |
|
s19NextRecord: |
bsr s19InputChar |
cmpb #LF ; line feed marks end of record |
beq s19nr1 |
cmpb #CTRLC ; should not get this in a file transfer |
bne s19nr2 |
stb s19Abort |
s19nr2: |
cmpb #CTRLZ ; end of file marker? |
bne s19nr3 |
stb s19Abort |
s19nr3: |
tst s19Abort |
beq s19NextRecord |
s19nr1: |
rts |
|
; ------------------------------------------------------------------------------ |
; Update the checksum. |
; ------------------------------------------------------------------------------ |
|
s19AddCheck: |
pshs b |
addb s19Checksum |
stb s19Checksum |
puls b,pc |
|
; ------------------------------------------------------------------------------ |
; Input a byte. There are three characters per byte since things are 12-bit. |
; |
; Parameters: |
; none |
; Returns: |
; accb = byte value converted from text |
; ------------------------------------------------------------------------------ |
|
s19GetByte: |
bsr s19InputChar ; get the first character |
lbsr AsciiToHexNybble ; convert to nybble |
tst s19Abort ; check for abort |
beq s19gb1 |
clra |
rts |
s19gb1: ; shift the value four bits |
aslb |
aslb |
aslb |
aslb |
pshs b ; save off value |
bsr s19InputChar ; get the second character |
lbsr AsciiToHexNybble ; convert to nybble |
tst s19Abort ; check for abort |
bne s19gb2 |
orb ,s+ ; merge new nybble into value |
aslb ; shift the value four more bits |
aslb |
aslb |
aslb |
pshs b ; save off value |
bsr s19InputChar ; get the third character |
lbsr AsciiToHexNybble ; convert to nybble |
orb ,s+ ; merge in value |
clra ; make byte 000 to FFF in D |
rts |
s19gb2: |
leas 1,s ; discard saved byte |
clra |
rts |
|
; ------------------------------------------------------------------------------ |
; Zero out address |
; ------------------------------------------------------------------------------ |
|
s19ClearAddress: |
clr s19Address |
clr s19Address+1 |
clr s19Address+2 |
clr s19Address+3 |
rts |
|
; ------------------------------------------------------------------------------ |
; Get an address composed of two bytes (24 bit) |
; |
; Side Effects: |
; updates s19Address variable |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
s19GetAddress2: |
bsr s19ClearAddress |
bsr s19GetByte |
bsr s19AddCheck |
stb s19Address+2 |
tst s19Abort |
bne s19ga1 |
bsr s19GetByte |
bsr s19AddCheck |
stb s19Address+3 |
s19ga1: |
rts |
|
; ------------------------------------------------------------------------------ |
; Get an address composed of three bytes (36 bit) |
; |
; Side Effects: |
; updates s19Address variable |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
s19GetAddress3: |
bsr s19ClearAddress |
bsr s19GetByte |
bsr s19AddCheck |
stb s19Address+1 |
tst s19Abort |
bne s19ga2 |
bsr s19GetByte |
bsr s19AddCheck |
stb s19Address+2 |
tst s19Abort |
bne s19ga2 |
bsr s19GetByte |
bsr s19AddCheck |
stb s19Address+3 |
s19ga2: |
rts |
|
; ------------------------------------------------------------------------------ |
; Put a byte to memory. |
; ------------------------------------------------------------------------------ |
|
s19PutMem: |
clrb ; accb = current byte count |
s19pm3: |
pshs b ; save byte count |
bsr s19GetByte |
bsr s19AddCheck |
tst s19Abort |
bne s19pm1 |
stb far [s19Address+1] ; store the byte using far addressing |
inc s19Address+3 |
bne s19pm2 |
inc s19Address+2 |
bne s19pm2 |
inc s19Address+1 |
s19pm2: |
puls b ; get back byte count |
incb ; increment and |
cmpb s19Reclen ; compare to record length |
blo s19pm3 |
bsr s19GetByte ; get the checksum byte |
bra s19AddCheck |
s19pm1: |
leas 1,s ; faster than actual pull |
bsr s19GetByte ; get the checksum byte |
bra s19AddCheck |
|
; ------------------------------------------------------------------------------ |
; Processing for S1 record type. |
; ------------------------------------------------------------------------------ |
|
s19ProcessS1: |
bsr s19GetAddress2 |
bsr s19PutMem |
tst s19Checksum |
beq s19p11 |
inc s19SummaryChecksum |
ldd #msgChecksumErr |
swi |
fcb MF_DisplayString |
s19p11: |
bra s19lnr |
|
; ------------------------------------------------------------------------------ |
; Processing for S2 record type. |
; ------------------------------------------------------------------------------ |
|
s19ProcessS2: |
bsr s19GetAddress3 |
bsr s19PutMem |
tst s19Checksum |
beq s19p21 |
inc s19SummaryChecksum |
ldd #msgChecksumErr |
swi |
fcb MF_DisplayString |
s19p21: |
bra s19lnr |
|
; S3,4,5,6 not processed |
|
; ------------------------------------------------------------------------------ |
; Processing for S7 record type. Gets a two byte (24 bit) start address. |
; ------------------------------------------------------------------------------ |
|
s19ProcessS9: |
bsr s19GetAddress2 |
ldd s19Address+2 |
std s19StartAddress+2 |
ldd s19Address+0 |
std s19StartAddress+0 |
bra s19l2 |
|
; ------------------------------------------------------------------------------ |
; Processing for S8 record type. Gets a three byte (36 bit) start address. |
; ------------------------------------------------------------------------------ |
|
s19ProcessS8: |
bsr s19GetAddress3 |
ldd s19Address+2 |
std s19StartAddress+2 |
ldd s19Address+0 |
std s19StartAddress+0 |
bra s19l2 |
|
; ------------------------------------------------------------------------------ |
; S19 Loader |
; |
; Not all record types are processed. Some are skipped over. |
; ------------------------------------------------------------------------------ |
|
S19Loader: |
clr s19Source |
lbsr GetNumber ; check for a file storage address |
tstb |
beq s19l4 ; if not a memory file |
inc s19Source ; set flag indicating a memory file |
ldd mon_numwka+2 ; set transfer address variable |
std s19XferAddress |
s19l4: |
clr s19Abort ; clear the abort flag |
ldd #msgS19Loader ; signon banner |
swi |
fcb MF_DisplayString |
clr s19SummaryChecksum |
s19l3: |
bsr s19InputChar ; get a character from input |
cmpb #CTRLZ ; is it CTRL-Z? |
beq s19l2 |
clr s19Checksum |
cmpb #'C' ; records must start with the letter C |
bne s19lnr |
bsr s19InputChar ; get the next character |
cmpb #'0' ; must be a numeric digit |
blo s19lnr |
cmpb #'9' |
bhi s19lnr |
stb s19Rectype ; save off in record type |
bsr s19GetByte ; get a byte indicating record length |
bsr s19AddCheck |
stb s19Reclen |
tst s19Abort ; check for abort |
bne s19l2 |
ldb s19Rectype ; process according to record type |
cmpb #'0' |
beq s19lnr |
cmpb #'1' |
beq s19ProcessS1 ; data record with a two byte address |
cmpb #'2' |
beq s19ProcessS2 ; data record with a three byte address |
cmpb #'3' |
beq s19lnr |
cmpb #'5' ; record count? ignore |
beq s19lnr |
cmpb #'7' ; ignore record with 48 bit address |
beq s19l2 |
cmpb #'8' |
beq s19ProcessS8 ; two byte start address |
cmpb #'9' |
beq s19ProcessS9 ; three byte start address |
s19lnr: |
ldb #'.' ; output a progress indicator |
swi |
fcb MF_OUTCH |
bsr s19NextRecord ; skip to the next record |
tst S19Abort ; check for abort |
bne s19l2 |
bra s19l3 ; loop back to process more records |
s19l2: |
lbra Monitor |
|
msgS19Loader: |
fcb "S19 Loader Active",CR,LF,0 |
msgChecksumErr: |
fcb "S19 Checksum Err",CR,LF,0 |
|
|
/trunk/software/boot/serial.asm
41,14 → 41,19
; none |
;------------------------------------------------------------------------------ |
|
setdp $FFC |
|
InitSerial: |
SerialInit: |
pshs dpr |
lda #$FFC |
tfr a,dpr |
clra |
clrb |
std SerHeadRcv-1 |
std SerTailRcv-1 |
std SerHeadXmit-1 |
std SerTailXmit-1 |
clr SerHeadRcv |
clr SerTailRcv |
clr SerHeadXmit |
clr SerTailXmit |
clr SerRcvXon |
clr SerRcvXoff |
lda COREID |
55,13 → 60,13
sini1: |
cmpa IOFocusID |
bne sini1 |
ldb #$09 ; dtr,rts active, rxint enabled, no parity |
ldb #$0B ; dtr,rts active, rxint enabled (bit 1=0), no parity |
stb ACIA+ACIA_CMD |
ldb #$1F ; baud 9600, 1 stop bit, 8 bit, internal baud gen |
ldb #$1E ; baud 9600, 1 stop bit, 8 bit, internal baud gen |
stb ACIA+ACIA_CTRL |
ldb #$0A6 ; diable fifos, reset fifos |
ldb #$0AC ; disable fifos (bit zero, one), reset fifos |
stb ACIA+ACIA_CTRL2 |
rts |
puls dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialGetChar |
71,7 → 76,7
; XON. |
; |
; Stack Space: |
; 2 words |
; 3 words |
; Parameters: |
; none |
; Modifies: |
81,32 → 86,32
;------------------------------------------------------------------------------ |
|
SerialGetChar: |
pshs x,y |
ldy #0 |
sei ; disable interrupts |
bsr SerialRcvCount ; check number of chars in receive buffer |
cmpb #8 ; less than 8? |
bhi sgc2 |
ldb SerRcvXon ; skip sending XON if already sent |
bne sgc2 ; XON already sent? |
ldb #XON ; if <8 send an XON |
clr SerRcvXoff ; clear XOFF status |
stb SerRcvXon ; flag so we don't send it multiple times |
bsr SerialPutChar |
pshs ccr,x,y,dpr |
lda #$FFC |
tfr a,dpr |
sei ; disable interrupts |
bsr SerialRcvCount ; check number of chars in receive buffer |
cmpb #8 ; less than 8? |
bhi sgc2 |
ldb SerRcvXon ; skip sending XON if already sent |
bne sgc2 ; XON already sent? |
ldb #XON ; if <8 send an XON |
clr SerRcvXoff ; clear XOFF status |
stb SerRcvXon ; flag so we don't send it multiple times |
bsr SerialPutChar |
sgc2: |
ldb SerHeadRcv ; check if anything is in buffer |
cmpb SerTailRcv |
beq sgcNoChars ; no? |
ldx #SerRcvBuf |
clra |
ldb b,x ; get byte from buffer |
inc SerHeadRcv ; 4k wrap around |
bra sgcXit |
ldb SerHeadRcv ; check if anything is in buffer |
cmpb SerTailRcv |
beq sgcNoChars ; no? |
leax SerRcvBuf ; x = buffer address |
clra |
ldb b,x ; get byte from buffer |
inc SerHeadRcv ; 4k wrap around |
bra sgcXit |
sgcNoChars: |
ldd #-1 |
ldd #-1 |
sgcXit: |
cli |
puls x,y,pc |
puls ccr,x,y,dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialPeekChar |
116,7 → 121,7
; to send an XON here. |
; |
; Stack Space: |
; 0 words |
; 2 words |
; Parameters: |
; none |
; Modifies: |
126,12 → 131,14
;------------------------------------------------------------------------------ |
|
SerialPeekChar: |
pshs x,ccr |
pshs x,ccr,dpr |
lda #$FFC |
tfr a,dpr |
sei |
ldb SerHeadRcv ; check if anything is in buffer |
cmpb SerTailRcv |
beq spcNoChars ; no? |
ldx #SerRcvBuf |
leax SerRcvBuf |
clra |
ldb b,x ; get byte from buffer |
bra spcXit |
138,7 → 145,7
spcNoChars: |
ldd #-1 |
spcXit: |
puls x,ccr,pc |
puls x,ccr,dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialPeekChar |
156,6 → 163,9
;------------------------------------------------------------------------------ |
|
SerialPeekCharDirect: |
pshs ccr,dpr |
lda #$FFC |
tfr a,dpr |
lda COREID ; Ensure we have the IO Focus |
cmpa IOFocusID |
bne spcd0001 |
166,12 → 176,10
beq spcd0001 |
clra |
ldb ACIA+ACIA_RX |
cli |
rts |
puls ccr,dpr,pc |
spcd0001: |
ldd #-1 |
cli |
rts |
puls ccr,dpr,pc |
|
;------------------------------------------------------------------------------ |
; SerialPutChar |
187,7 → 195,9
;------------------------------------------------------------------------------ |
|
SerialPutChar: |
pshs a,ccr |
pshs a,ccr,dpr |
lda #$FFC |
tfr a,dpr |
spc0001: |
lda COREID ; Ensure we have the IO Focus |
cmpa IOFocusID |
200,13 → 210,14
bita #16 ; bit #4 of the status reg |
beq spc0001 ; branch if transmitter is not empty |
stb ACIA+ACIA_TX ; send the byte |
puls a,ccr,pc |
puls a,ccr,dpr,pc |
|
;------------------------------------------------------------------------------ |
; Calculate number of character in input buffer |
; Calculate number of character in input buffer. Direct page must be set |
; already. |
; |
; Parameters: |
; y = 0 if current core, otherwise reference to core memory area $Cyxxxx |
; none |
; Returns: |
; d = number of bytes in buffer. |
;------------------------------------------------------------------------------ |
213,12 → 224,12
|
SerialRcvCount: |
clra |
ldb SerTailRcv,y |
subb SerHeadRcv,y |
ldb SerTailRcv |
subb SerHeadRcv |
bge srcXit |
ldd #$1000 |
subd SerHeadRcv,y |
addd SerTailRcv,y |
subd SerHeadRcv |
addd SerTailRcv |
srcXit: |
rts |
|
238,48 → 249,44
;------------------------------------------------------------------------------ |
|
SerialIRQ: |
pshs dpr ; set direct page register to boot variables |
lda #$FFC |
tfr a,dpr |
lda PIC+$D3 ; Serial active interrupt flag |
beq notSerInt |
sirqNxtByte: |
ldb ACIA+ACIA_IRQS ; look for IRQs |
bpl notSerInt ; quick test for any irqs |
ldb ACIA+ACIA_STAT ; check the status |
bitb #$08 ; bit 3 = rx full |
beq notRxInt |
bitb #$08 ; bit 3 = rx full (not empty) |
beq notRxInt1 |
ldb ACIA+ACIA_RX ; get data from Rx buffer to clear interrupt |
cmpb #CTRLT ; detect special keystroke |
bne sirq0001 |
; bsr DumpTraceQueue |
sirq0001: |
pshs b |
; Compute receive buffer address |
lda IOFocusID |
asla |
asla |
asla |
asla |
ora #$C00 |
clrb |
tfr d,y |
puls b |
lda SerTailRcv,y ; check if recieve buffer full |
lda SerTailRcv ; check if recieve buffer full |
inca |
cmpa SerHeadRcv,y |
cmpa SerHeadRcv |
beq sirqRxFull |
sta SerTailRcv,y ; update tail pointer |
sta SerTailRcv ; update tail pointer |
deca ; backup |
exg a,b |
leax SerRcvBuf,y ; x = buffer address |
leax SerRcvBuf ; x = buffer address |
sta b,x ; store recieved byte in buffer |
tst SerRcvXoff,y ; check if xoff already sent |
tst SerRcvXoff ; check if xoff already sent |
bne sirqNxtByte |
bsr SerialRcvCount ; if more than 4080 chars in buffer |
cmpb #4080 |
bsr SerialRcvCount ; if more than 4070 chars in buffer |
cmpb #4070 |
blo sirqNxtByte |
ldb #XOFF ; send an XOFF |
clr SerRcvXon,y ; clear XON status |
stb SerRcvXoff,y ; set XOFF status |
clr SerRcvXon ; clear XON status |
stb SerRcvXoff ; set XOFF status |
stb ACIA+ACIA_TX |
bra sirqNxtByte ; check the status for another byte |
; Process other serial IRQs |
notRxInt1: |
puls dpr,pc |
sirqRxFull: |
notRxInt: |
rts |
notSerInt: |
puls dpr,pc |
|
nmeSerial: |
fcb "Serial",0 |
338,3 → 345,4
msgSerialTest: |
fcb "Serial port test",CR,LF,0 |
|
setdp $000 |
/trunk/software/boot/timer.asm
31,8 → 31,8
clr VIA+VIA_T3LH |
lda VIA+VIA_ACR ; set continuous mode for timer |
ora #$100 |
sta VIA+VIA_ACR ; enable timer #3 interrupts |
lda #$810 |
sta VIA+VIA_ACR |
lda #$880 ; enable timer #3 interrupts |
sta VIA+VIA_IER |
rts |
|
39,17 → 39,33
TimerIRQ: |
; Reset the edge sense circuit in the PIC |
lda #31 ; Timer is IRQ #31 |
sta IrqSource ; stuff a byte indicating the IRQ source for PEEK() |
sta PIC+16 ; register 16 is edge sense reset reg |
lda VIA+VIA_IFR |
bpl notTimerIRQ |
bita #$800 |
lda PIC+$FF ; Timer active interrupt flag |
beq notTimerIRQ |
clr VIA+VIA_T3LL |
clr PIC+$FF ; clear the flag |
lda #31 ; Timer is IRQ #31 |
sta IrqSource ; stuff a byte indicating the IRQ source for PEEK() |
clr VIA+VIA_T3LL ; should clear the interrupt |
clr VIA+VIA_T3LH |
inc $E00037 ; update timer IRQ screen flag |
lda #31 ; Timer is IRQ #31 |
sta PIC+16 ; register 16 is edge sense reset reg |
clr PIC+$FF ; clear the flag |
inc $E0003F ; update timer IRQ screen flag |
ldd milliseconds+2 |
addd #10 |
std milliseconds+2 |
ldd milliseconds |
adcb #0 |
stb milliseconds+1 |
adca #0 |
sta milliseconds |
|
; Update XModem timer, we just always do it rather than testing if XModem |
; is active. The increment is set to give approximately 3s before the MSB |
; gets set. |
ldb xm_timer |
addb #4 |
stb xm_timer |
notTimerIRQ: |
rts |
|
|
|
/trunk/software/boot/xmodem.asm
0,0 → 1,437
; ============================================================================ |
; __ |
; \\__/ o\ (C) 2022 Robert Finch, Waterloo |
; \ __ / All rights reserved. |
; \/_// robfinch<remove>@opencores.org |
; || |
; |
; |
; BSD 3-Clause License |
; Redistribution and use in source and binary forms, with or without |
; modification, are permitted provided that the following conditions are met: |
; |
; 1. Redistributions of source code must retain the above copyright notice, this |
; list of conditions and the following disclaimer. |
; |
; 2. Redistributions in binary form must reproduce the above copyright notice, |
; this list of conditions and the following disclaimer in the documentation |
; and/or other materials provided with the distribution. |
; |
; 3. Neither the name of the copyright holder nor the names of its |
; contributors may be used to endorse or promote products derived from |
; this software without specific prior written permission. |
; |
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
; |
; ============================================================================ |
; |
; Xmodem variables |
; |
xm_timer EQU $FFC020 |
xm_protocol EQU $9F5 |
xm_flag EQU $9F6 |
xm_checksum EQU $9F7 |
xm_tmp2 EQU $9F8 |
xm_packetnum EQU $9FA |
xm_tmp EQU $9FC |
xm_crc EQU $9FE |
xm_ibuf EQU $A00 ; to $A7F |
xm_obuf EQU $A80 ; to $AFF |
|
; ------------------------------------------------------------------------------ |
; Send data using XModem. |
; ------------------------------------------------------------------------------ |
|
xm_SendStart: |
lbsr GetRange |
ldx mon_r1+2 ; x = buffer address |
tfr x,u |
ldb #1 ; packet numbers start at one |
stb xm_packetnum+1 |
; Wait for receiver to send a NAK |
xm_send: |
ldd #-1 ; select blocking input |
swi |
fcb MF_INCH |
cmpb #NAK ; should have got a NAK |
beq xm_send5 |
cmpb #'C' ; or a 'C' |
bne xm_send |
xm_send5: |
stb xm_protocol |
xm_send4: |
ldb #SOH ; send start |
swi |
fcb OUTCH |
ldb xm_packetnum+1 ; send packet number |
swi |
fcb MF_OUTCH |
comb ; one's complement |
swi |
fcb MF_OUTCH ; send packet number complement |
clra ; acca = byte count |
tfr x,u ; u = buffer address |
xm_send1: |
ldb ,u+ ; grab a byte from the buffer |
swi |
fcb MF_OUTCH ; send it out |
inca |
cmpa #128 ; number of bytes in payload |
blo xm_send1 |
ldb xm_protocol |
cmpb #'C' ; CRC protocol? |
bne xm_send2 |
bsr xm_calc_crc ; compute CRC |
ldd xm_crc ; get crc |
lsra ; transfer high eight bits first, so |
rorb ; right shift D by eight |
lsra |
rorb |
lsra |
rorb |
lsra |
rorb |
lsra |
rorb |
lsra |
rorb |
lsra |
rorb |
lsra |
rorb |
swi |
fcb MF_OUTCH ; send out the byte |
ldd xm_crc ; get back CRC |
swi |
fcb MF_OUTCH ; and send out low byte |
bra xm_send3 |
xm_send2: |
bsr xm_calc_checksum |
ldb xm_checksum |
swi |
fcb MF_OUTCH |
xm_send3: |
swi |
ldd #-1 ; block until input is present |
fcb MF_INCH |
cmpb #ACK |
bne xm_send4 ; not an ACK then resend the record |
inc xm_packetnum ; increment packet number |
leax 128,x ; advance buffer pointer |
cmpx mon_r2+2 |
blo xm_send4 ; go send next record |
ldb #EOT ; send end of transmission |
swi |
fcb MF_OUTCH |
swi |
fcb MF_OUTCH |
swi |
fcb MF_OUTCH |
rts |
|
; ------------------------------------------------------------------------------ |
; Get a byte, checking for a receive timeout. |
; |
; Returns: |
; accb = byte (0 to 255) or -1 if timed out |
; ------------------------------------------------------------------------------ |
|
xm_getbyte: |
xm_gb1: |
tst xm_timer ; check the timeout - 2048 ticks (3 seconds approx.) |
bmi xm_gb2 |
clra ; non-blocking |
clrb |
swi |
fcb MF_INCH ; try and get a character |
bmi xm_gb1 ; if no character, try again |
bsr xm_outbyteAsHex |
rts |
xm_gb2: |
ldb #-1 |
rts |
|
; ------------------------------------------------------------------------------ |
; XModem Receive |
; |
; Parameters: |
; none |
; Modifies: |
; All |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
xm_ReceiveStart: |
lbsr Delay3s ; give a little bit of time for sender |
lbsr Delay3s |
lbsr Delay3s |
lbsr GetNumber ; Get the transfer address |
tstb ; Make sure we got a value |
lbeq Monitor |
ldx mon_numwka+2 ; X = transfer address |
clr xm_packetnum ; initialize |
lda #'C' ; try for CRC first |
sta xm_protocol |
xm_receive: |
lda #2 ; number of times to retry -1 |
xm_rcv5: |
ldb xm_protocol ; indicate we want a transfer (send protocol byte) |
swi |
fcb MF_SerialPutchar |
xm_rcv4: |
clr xm_timer ; clear the timeout |
xm_rcv1: |
bsr xm_getbyte |
tstb |
bmi xm_retry1 ; timeout on protocol id? |
cmpb #SOH ; it should be start of a transfer |
beq xm_SOH |
cmpb #EOT |
beq xm_EOT ; or end of transfer (EOT) |
cmpb #CAN |
beq xm_receive ; might be a cancel |
cmpb #ETB |
beq xm_EOT |
xm_rcv_nak: ; wasn't a valid start so |
ldb #NAK ; send a NAK |
swi |
fcb MF_SerialPutchar ; and try again |
bra xm_rcv4 |
xm_SOH: |
bsr xm_getbyte ; get packet number |
bmi xm_rcv_to1 |
stb xm_packetnum+1 |
pshs b ; save it |
bsr xm_getbyte ; get complement of packet number |
bmi xm_rcv_to2 |
addb ,s ; add the two values |
andb #$FF ; the sum should be $FF |
subb #$FF |
stb xm_flag ; should be storing a zero if there is no error |
ldy #0 ; y = payload byte counter |
tfr x,u |
xm_rcv2: |
bsr xm_getbyte |
bmi xm_rcv_to1 |
stb ,u+ ; store the byte to memory |
iny |
cmpy #128 ; 128 bytes per payload |
blo xm_rcv2 |
bsr xm_getbyte ; get checksum or CRC byte |
bmi xm_rcv_to1 |
stb xm_tmp ; stuff checksum/CRC byte |
ldb xm_protocol |
cmpb #'C' |
bne xm_rcv_chksum |
bsr xm_getbyte ; get low order CRC byte |
bmi xm_rcv_to1 |
lda xm_tmp ; get the high byte |
aslb ; prepare to combine high and low order |
aslb |
aslb |
aslb |
lsra ; shift low nybble of acca into accb |
rorb |
lsra |
rorb |
lsra |
rorb |
lsra |
rorb |
anda #$00F ; mask off any extra bits |
std xm_tmp2 |
bsr xm_calc_crc ; compute the CRC-16 for the received data |
ldd xm_crc ; and compare to received value |
cmpd xm_tmp2 |
bra xm_rcv3 |
xm_rcv_chksum: |
bsr xm_calc_checksum |
ldb xm_checksum |
cmpb xm_tmp ; where we stuffed the byte |
xm_rcv3: |
bne xm_rcv_nak ; if not the same, NAK |
tst xm_flag |
bne xm_rcv_nak ; bad packet number? |
ldb #ACK ; packet recieved okay, send back an ACK |
swi |
fcb MF_SerialPutchar |
ldb xm_packetnum+1 ; did we receive the same packet |
cmpb xm_packetnum |
beq xm_rcv4 ; same packet received, dont update buffer pointer |
stb xm_packetnum ; update last seen packet number |
leax 128,x ; increment buffer pointer |
bra xm_rcv4 ; and go back for next packet |
xm_rcv_to2: |
leas 1,s ; get rid of stacked byte |
xm_rcv_to1: |
ldd #msgXmTimeout |
swi |
fcb MF_DisplayString |
lbra Monitor |
xm_EOT: ; end of transmission received, return |
ldb #ACK ; ACK the EOT |
swi |
fcb MF_SerialPutchar |
lbra Monitor |
xm_retry1: |
deca |
bpl xm_rcv5 |
lda xm_protocol |
cmpa #NAK ; are we already lowered down to checksum protocol? |
beq xm_noTransmitter ; did we try both checksum and CRC? |
lda #NAK |
sta xm_protocol |
bra xm_receive |
xm_noTransmitter: |
ldd #msgXmNoTransmitter |
swi |
fcb MF_DisplayString |
lbra Monitor |
|
msgXmTimeout: |
fcb "Xmodem: timed out",CR,LF,0 |
msgXmNoTransmitter: |
fcb "XModem: transmitter not responding",CR,LF,0 |
|
; ------------------------------------------------------------------------------ |
; Calculate checksum value. The checksum is simply the low order eight bits of |
; the sum of all the bytes in the payload area. |
; |
; Stack space: |
; two words |
; Modifies: |
; xm_checksum contains the checksum value for the record |
; Parameters: |
; X = buffer address |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
xm_calc_checksum: |
pshs d,x |
clra |
clrb |
xm_cs1: |
addb ,x+ |
inca |
cmpa #128 |
blo xm_cs1 |
andb #$FF |
stb xm_checksum |
puls d,x,pc |
|
; ------------------------------------------------------------------------------ |
; Compute CRC-16 of buffer. |
; |
;int calcrc(char *ptr, int count) |
;{ |
; int crc; |
; char i; |
; crc = 0; |
; while (--count >= 0) |
; { |
; crc = crc ^ (int) (*ptr++ << 8); |
; i = 8; |
; do |
; { |
; if (crc & 0x8000) |
; crc = crc << 1 ^ 0x1021; |
; else |
; crc = crc << 1; |
; } while(--i); |
; } |
; return (crc); |
;} |
; |
; Modifies: |
; xm_crc variable |
; Parameters: |
; u = buffer address |
; Returns: |
; none |
; ------------------------------------------------------------------------------ |
|
xm_calc_crc: |
pshs d,x,y,u |
clr xm_crc |
clr xm_crc+1 |
ldu #0 ; u = byte count |
xm_crc1: |
ldb ,x+ ; get byte |
clr xm_tmp ; save in temp |
stb xm_tmp+1 |
asl xm_tmp+1 ; shift temp eight bits to left |
rol xm_tmp |
asl xm_tmp+1 |
rol xm_tmp |
asl xm_tmp+1 |
rol xm_tmp |
asl xm_tmp+1 |
rol xm_tmp |
asl xm_tmp+1 |
rol xm_tmp |
asl xm_tmp+1 |
rol xm_tmp |
asl xm_tmp+1 |
rol xm_tmp |
asl xm_tmp+1 |
rol xm_tmp |
ldd xm_crc ; crc = crc ^ tmp |
eora xm_tmp |
eorb xm_tmp+1 |
std xm_crc |
ldy #0 |
xm_crc4: |
ldb xm_crc ; get high byte |
bitb #$8 ; check for $8000 |
beq xm_crc2 ; no? then just go shift |
ldd xm_crc ; load |
aslb ; shift |
rola |
eorb #$021 ; and xor |
eora #$001 |
std xm_crc ; store it back |
bra xm_crc3 |
xm_crc2: |
ldd xm_crc ; load |
aslb ; shift |
rola |
std xm_crc ; and store |
xm_crc3: |
iny |
cmpy #8 ; repeat eight times |
blo xm_crc4 |
leau 1,u ; increment byte count |
cmpu #128 |
ldd xm_crc ; we want only a 16-bit CRC |
anda #$0F |
std xm_crc |
blo xm_crc1 |
puls d,x,y,u,pc |
|
xm_outbyteAsHex: |
pshs d |
ldd CharOutVec ; get current char out vector |
pshs d ; save it |
ldd #ScreenDisplayChar ; set output vector to screen display |
std CharOUtVec |
ldd 2,s ; get passed data |
lbsr DispByteAsHex ; and display on-screen |
ldb #' ' |
lbsr ScreenDisplayChar |
puls d ; get back old char out vector |
std CharOutVec ; and restore it |
puls d ; restore input arguments |
rts |
|
|