fix(saolei): 修显存窗口译码 + 段间空洞填 NOP; 新增无显示器调试台(仿真截图)
- cpu21_mmio.v: sel_fb 原写成 addr[12] && !addr[11](那是 0x1000-0x17FF), 导致 0x2000+ 的显存读写全不命中, 而鼠标/显示寄存器写反而落进显存。 改为 bit13=1 && bit12=0 && bit11=0 后扫雷画面才正常: 修复前仿真 fb_we 只有 6 次写(画面全空), 修复后开始界面 1246 次、进关卡后 2775 次 - cpu21_board_top.v: 新增 POINTER_SAMPLE_DIV 参数(默认仍为上板的 50000), 仿真传 50 即可让按键在几十微秒内被识别(defparam 对 generate 块内实例无效) - saolei/tools/elf2hex.py: .text.isr1/2/3 之间的空洞(0 字)填 NOP —— objcopy 留下的 0x00000000 在本 CPU 上等同自跳指令, PC 掉进去就出不来 - saolei/tools/fb2png.py + srcs/tb/tb_saolei.v: 无 VGA 显示器的调试台 —— 跑板级顶层、 按键当鼠标、把 40x30 显存 dump 成文本, 再按 cpu21_vga.v 的字库/调色板还原 PNG, 并附 ASCII 图 + RAM 变量视图 + PC 热点直方图
This commit is contained in:
@@ -5,65 +5,65 @@
|
||||
rom[2] = 32'h000012B7;
|
||||
rom[3] = 32'hE3028293;
|
||||
rom[4] = 32'h00028067;
|
||||
rom[5] = 32'h00000000;
|
||||
rom[6] = 32'h00000000;
|
||||
rom[7] = 32'h00000000;
|
||||
rom[8] = 32'h00000000;
|
||||
rom[9] = 32'h00000000;
|
||||
rom[10] = 32'h00000000;
|
||||
rom[11] = 32'h00000000;
|
||||
rom[12] = 32'h00000000;
|
||||
rom[13] = 32'h00000000;
|
||||
rom[14] = 32'h00000000;
|
||||
rom[15] = 32'h00000000;
|
||||
rom[16] = 32'h00000000;
|
||||
rom[17] = 32'h00000000;
|
||||
rom[18] = 32'h00000000;
|
||||
rom[19] = 32'h00000000;
|
||||
rom[20] = 32'h00000000;
|
||||
rom[21] = 32'h00000000;
|
||||
rom[22] = 32'h00000000;
|
||||
rom[23] = 32'h00000000;
|
||||
rom[24] = 32'h00000000;
|
||||
rom[25] = 32'h00000000;
|
||||
rom[26] = 32'h00000000;
|
||||
rom[27] = 32'h00000000;
|
||||
rom[28] = 32'h00000000;
|
||||
rom[29] = 32'h00000000;
|
||||
rom[30] = 32'h00000000;
|
||||
rom[31] = 32'h00000000;
|
||||
rom[32] = 32'h00000000;
|
||||
rom[33] = 32'h00000000;
|
||||
rom[34] = 32'h00000000;
|
||||
rom[35] = 32'h00000000;
|
||||
rom[36] = 32'h00000000;
|
||||
rom[37] = 32'h00000000;
|
||||
rom[38] = 32'h00000000;
|
||||
rom[39] = 32'h00000000;
|
||||
rom[40] = 32'h00000000;
|
||||
rom[41] = 32'h00000000;
|
||||
rom[42] = 32'h00000000;
|
||||
rom[43] = 32'h00000000;
|
||||
rom[44] = 32'h00000000;
|
||||
rom[45] = 32'h00000000;
|
||||
rom[46] = 32'h00000000;
|
||||
rom[47] = 32'h00000000;
|
||||
rom[48] = 32'h00000000;
|
||||
rom[49] = 32'h00000000;
|
||||
rom[50] = 32'h00000000;
|
||||
rom[51] = 32'h00000000;
|
||||
rom[52] = 32'h00000000;
|
||||
rom[53] = 32'h00000000;
|
||||
rom[54] = 32'h00000000;
|
||||
rom[55] = 32'h00000000;
|
||||
rom[56] = 32'h00000000;
|
||||
rom[57] = 32'h00000000;
|
||||
rom[58] = 32'h00000000;
|
||||
rom[59] = 32'h00000000;
|
||||
rom[60] = 32'h00000000;
|
||||
rom[61] = 32'h00000000;
|
||||
rom[62] = 32'h00000000;
|
||||
rom[63] = 32'h00000000;
|
||||
rom[5] = 32'h00000013;
|
||||
rom[6] = 32'h00000013;
|
||||
rom[7] = 32'h00000013;
|
||||
rom[8] = 32'h00000013;
|
||||
rom[9] = 32'h00000013;
|
||||
rom[10] = 32'h00000013;
|
||||
rom[11] = 32'h00000013;
|
||||
rom[12] = 32'h00000013;
|
||||
rom[13] = 32'h00000013;
|
||||
rom[14] = 32'h00000013;
|
||||
rom[15] = 32'h00000013;
|
||||
rom[16] = 32'h00000013;
|
||||
rom[17] = 32'h00000013;
|
||||
rom[18] = 32'h00000013;
|
||||
rom[19] = 32'h00000013;
|
||||
rom[20] = 32'h00000013;
|
||||
rom[21] = 32'h00000013;
|
||||
rom[22] = 32'h00000013;
|
||||
rom[23] = 32'h00000013;
|
||||
rom[24] = 32'h00000013;
|
||||
rom[25] = 32'h00000013;
|
||||
rom[26] = 32'h00000013;
|
||||
rom[27] = 32'h00000013;
|
||||
rom[28] = 32'h00000013;
|
||||
rom[29] = 32'h00000013;
|
||||
rom[30] = 32'h00000013;
|
||||
rom[31] = 32'h00000013;
|
||||
rom[32] = 32'h00000013;
|
||||
rom[33] = 32'h00000013;
|
||||
rom[34] = 32'h00000013;
|
||||
rom[35] = 32'h00000013;
|
||||
rom[36] = 32'h00000013;
|
||||
rom[37] = 32'h00000013;
|
||||
rom[38] = 32'h00000013;
|
||||
rom[39] = 32'h00000013;
|
||||
rom[40] = 32'h00000013;
|
||||
rom[41] = 32'h00000013;
|
||||
rom[42] = 32'h00000013;
|
||||
rom[43] = 32'h00000013;
|
||||
rom[44] = 32'h00000013;
|
||||
rom[45] = 32'h00000013;
|
||||
rom[46] = 32'h00000013;
|
||||
rom[47] = 32'h00000013;
|
||||
rom[48] = 32'h00000013;
|
||||
rom[49] = 32'h00000013;
|
||||
rom[50] = 32'h00000013;
|
||||
rom[51] = 32'h00000013;
|
||||
rom[52] = 32'h00000013;
|
||||
rom[53] = 32'h00000013;
|
||||
rom[54] = 32'h00000013;
|
||||
rom[55] = 32'h00000013;
|
||||
rom[56] = 32'h00000013;
|
||||
rom[57] = 32'h00000013;
|
||||
rom[58] = 32'h00000013;
|
||||
rom[59] = 32'h00000013;
|
||||
rom[60] = 32'h00000013;
|
||||
rom[61] = 32'h00000013;
|
||||
rom[62] = 32'h00000013;
|
||||
rom[63] = 32'h00000013;
|
||||
rom[64] = 32'hFC010113;
|
||||
rom[65] = 32'h00112023;
|
||||
rom[66] = 32'h00512223;
|
||||
@@ -101,97 +101,97 @@
|
||||
rom[98] = 32'h00012083;
|
||||
rom[99] = 32'h04010113;
|
||||
rom[100] = 32'h00200073;
|
||||
rom[101] = 32'h00000000;
|
||||
rom[102] = 32'h00000000;
|
||||
rom[103] = 32'h00000000;
|
||||
rom[104] = 32'h00000000;
|
||||
rom[105] = 32'h00000000;
|
||||
rom[106] = 32'h00000000;
|
||||
rom[107] = 32'h00000000;
|
||||
rom[108] = 32'h00000000;
|
||||
rom[109] = 32'h00000000;
|
||||
rom[110] = 32'h00000000;
|
||||
rom[111] = 32'h00000000;
|
||||
rom[112] = 32'h00000000;
|
||||
rom[113] = 32'h00000000;
|
||||
rom[114] = 32'h00000000;
|
||||
rom[115] = 32'h00000000;
|
||||
rom[116] = 32'h00000000;
|
||||
rom[117] = 32'h00000000;
|
||||
rom[118] = 32'h00000000;
|
||||
rom[119] = 32'h00000000;
|
||||
rom[120] = 32'h00000000;
|
||||
rom[121] = 32'h00000000;
|
||||
rom[122] = 32'h00000000;
|
||||
rom[123] = 32'h00000000;
|
||||
rom[124] = 32'h00000000;
|
||||
rom[125] = 32'h00000000;
|
||||
rom[126] = 32'h00000000;
|
||||
rom[127] = 32'h00000000;
|
||||
rom[101] = 32'h00000013;
|
||||
rom[102] = 32'h00000013;
|
||||
rom[103] = 32'h00000013;
|
||||
rom[104] = 32'h00000013;
|
||||
rom[105] = 32'h00000013;
|
||||
rom[106] = 32'h00000013;
|
||||
rom[107] = 32'h00000013;
|
||||
rom[108] = 32'h00000013;
|
||||
rom[109] = 32'h00000013;
|
||||
rom[110] = 32'h00000013;
|
||||
rom[111] = 32'h00000013;
|
||||
rom[112] = 32'h00000013;
|
||||
rom[113] = 32'h00000013;
|
||||
rom[114] = 32'h00000013;
|
||||
rom[115] = 32'h00000013;
|
||||
rom[116] = 32'h00000013;
|
||||
rom[117] = 32'h00000013;
|
||||
rom[118] = 32'h00000013;
|
||||
rom[119] = 32'h00000013;
|
||||
rom[120] = 32'h00000013;
|
||||
rom[121] = 32'h00000013;
|
||||
rom[122] = 32'h00000013;
|
||||
rom[123] = 32'h00000013;
|
||||
rom[124] = 32'h00000013;
|
||||
rom[125] = 32'h00000013;
|
||||
rom[126] = 32'h00000013;
|
||||
rom[127] = 32'h00000013;
|
||||
rom[128] = 32'hFF810113;
|
||||
rom[129] = 32'h00112023;
|
||||
rom[130] = 32'h4A1000EF;
|
||||
rom[131] = 32'h00012083;
|
||||
rom[132] = 32'h00810113;
|
||||
rom[133] = 32'h00200073;
|
||||
rom[134] = 32'h00000000;
|
||||
rom[135] = 32'h00000000;
|
||||
rom[136] = 32'h00000000;
|
||||
rom[137] = 32'h00000000;
|
||||
rom[138] = 32'h00000000;
|
||||
rom[139] = 32'h00000000;
|
||||
rom[140] = 32'h00000000;
|
||||
rom[141] = 32'h00000000;
|
||||
rom[142] = 32'h00000000;
|
||||
rom[143] = 32'h00000000;
|
||||
rom[144] = 32'h00000000;
|
||||
rom[145] = 32'h00000000;
|
||||
rom[146] = 32'h00000000;
|
||||
rom[147] = 32'h00000000;
|
||||
rom[148] = 32'h00000000;
|
||||
rom[149] = 32'h00000000;
|
||||
rom[150] = 32'h00000000;
|
||||
rom[151] = 32'h00000000;
|
||||
rom[152] = 32'h00000000;
|
||||
rom[153] = 32'h00000000;
|
||||
rom[154] = 32'h00000000;
|
||||
rom[155] = 32'h00000000;
|
||||
rom[156] = 32'h00000000;
|
||||
rom[157] = 32'h00000000;
|
||||
rom[158] = 32'h00000000;
|
||||
rom[159] = 32'h00000000;
|
||||
rom[160] = 32'h00000000;
|
||||
rom[161] = 32'h00000000;
|
||||
rom[162] = 32'h00000000;
|
||||
rom[163] = 32'h00000000;
|
||||
rom[164] = 32'h00000000;
|
||||
rom[165] = 32'h00000000;
|
||||
rom[166] = 32'h00000000;
|
||||
rom[167] = 32'h00000000;
|
||||
rom[168] = 32'h00000000;
|
||||
rom[169] = 32'h00000000;
|
||||
rom[170] = 32'h00000000;
|
||||
rom[171] = 32'h00000000;
|
||||
rom[172] = 32'h00000000;
|
||||
rom[173] = 32'h00000000;
|
||||
rom[174] = 32'h00000000;
|
||||
rom[175] = 32'h00000000;
|
||||
rom[176] = 32'h00000000;
|
||||
rom[177] = 32'h00000000;
|
||||
rom[178] = 32'h00000000;
|
||||
rom[179] = 32'h00000000;
|
||||
rom[180] = 32'h00000000;
|
||||
rom[181] = 32'h00000000;
|
||||
rom[182] = 32'h00000000;
|
||||
rom[183] = 32'h00000000;
|
||||
rom[184] = 32'h00000000;
|
||||
rom[185] = 32'h00000000;
|
||||
rom[186] = 32'h00000000;
|
||||
rom[187] = 32'h00000000;
|
||||
rom[188] = 32'h00000000;
|
||||
rom[189] = 32'h00000000;
|
||||
rom[190] = 32'h00000000;
|
||||
rom[191] = 32'h00000000;
|
||||
rom[134] = 32'h00000013;
|
||||
rom[135] = 32'h00000013;
|
||||
rom[136] = 32'h00000013;
|
||||
rom[137] = 32'h00000013;
|
||||
rom[138] = 32'h00000013;
|
||||
rom[139] = 32'h00000013;
|
||||
rom[140] = 32'h00000013;
|
||||
rom[141] = 32'h00000013;
|
||||
rom[142] = 32'h00000013;
|
||||
rom[143] = 32'h00000013;
|
||||
rom[144] = 32'h00000013;
|
||||
rom[145] = 32'h00000013;
|
||||
rom[146] = 32'h00000013;
|
||||
rom[147] = 32'h00000013;
|
||||
rom[148] = 32'h00000013;
|
||||
rom[149] = 32'h00000013;
|
||||
rom[150] = 32'h00000013;
|
||||
rom[151] = 32'h00000013;
|
||||
rom[152] = 32'h00000013;
|
||||
rom[153] = 32'h00000013;
|
||||
rom[154] = 32'h00000013;
|
||||
rom[155] = 32'h00000013;
|
||||
rom[156] = 32'h00000013;
|
||||
rom[157] = 32'h00000013;
|
||||
rom[158] = 32'h00000013;
|
||||
rom[159] = 32'h00000013;
|
||||
rom[160] = 32'h00000013;
|
||||
rom[161] = 32'h00000013;
|
||||
rom[162] = 32'h00000013;
|
||||
rom[163] = 32'h00000013;
|
||||
rom[164] = 32'h00000013;
|
||||
rom[165] = 32'h00000013;
|
||||
rom[166] = 32'h00000013;
|
||||
rom[167] = 32'h00000013;
|
||||
rom[168] = 32'h00000013;
|
||||
rom[169] = 32'h00000013;
|
||||
rom[170] = 32'h00000013;
|
||||
rom[171] = 32'h00000013;
|
||||
rom[172] = 32'h00000013;
|
||||
rom[173] = 32'h00000013;
|
||||
rom[174] = 32'h00000013;
|
||||
rom[175] = 32'h00000013;
|
||||
rom[176] = 32'h00000013;
|
||||
rom[177] = 32'h00000013;
|
||||
rom[178] = 32'h00000013;
|
||||
rom[179] = 32'h00000013;
|
||||
rom[180] = 32'h00000013;
|
||||
rom[181] = 32'h00000013;
|
||||
rom[182] = 32'h00000013;
|
||||
rom[183] = 32'h00000013;
|
||||
rom[184] = 32'h00000013;
|
||||
rom[185] = 32'h00000013;
|
||||
rom[186] = 32'h00000013;
|
||||
rom[187] = 32'h00000013;
|
||||
rom[188] = 32'h00000013;
|
||||
rom[189] = 32'h00000013;
|
||||
rom[190] = 32'h00000013;
|
||||
rom[191] = 32'h00000013;
|
||||
rom[192] = 32'h00200073;
|
||||
rom[193] = 32'h00000793;
|
||||
rom[194] = 32'h59C00713;
|
||||
|
||||
Reference in New Issue
Block a user