fix(vga): 光标框改成黄色常亮 2 像素,一眼可见
原来是 1 像素浅灰 + blink 闪动(约 1.3 s 周期):在白色未揭开格上几乎看不清, 且仿真截图有一半概率正好截到灭的相位,导致看图时找不到指针。 - cpu21_vga.v: on_border 1px -> 2px,去掉 blink(常亮),颜色 7(浅灰) -> 6(黄) - fb2png.py: 渲染器同步同样的规则 实测:仿真截图里黄色光标框清晰可辨
This commit is contained in:
@@ -14,7 +14,7 @@ dump 格式(tb_saolei.v 里的 dump_fb 任务生成):
|
||||
渲染依据(与 RTL 严格对应,改 RTL 时这两个表要同步):
|
||||
* 字库 cpu21_vga.v 的 font_row():8x8、bit7 是最左像素,放大 2 倍 = 16x16 一格
|
||||
* 调色板 cpu21_vga.v 的 pal():3 位 -> 4:4:4 RGB(0xA 分量 = 170)
|
||||
* 光标 cpu21_vga.v 的 cursor_box:格子四边一圈(1 像素宽)显示浅灰
|
||||
* 光标 cpu21_vga.v 的 cursor_box:格子四边一圈 2 像素宽的黄色框(常亮)
|
||||
* 画面 40x30 格 -> 640x480
|
||||
|
||||
另外还会在终端打印一份 ASCII 图,方便在没有图片查看器的地方快速看结果。
|
||||
@@ -195,10 +195,10 @@ def main():
|
||||
px_on = (FONT[g][fy] >> (7 - fx)) & 1
|
||||
col = c if px_on else bg
|
||||
if cursor_box and (cx, cy) == cur:
|
||||
# 格子四边一圈(1 像素)显示浅灰
|
||||
# 光标格:四边 2 像素黄色框,与 cpu21_vga.v 的 cursor_box 一致
|
||||
ox, oy = x % CELL_PX, y % CELL_PX
|
||||
if ox == 0 or ox == CELL_PX - 1 or oy == 0 or oy == CELL_PX - 1:
|
||||
col = 7
|
||||
if ox < 2 or ox > CELL_PX - 3 or oy < 2 or oy > CELL_PX - 3:
|
||||
col = 6
|
||||
r, gg, b = PAL[col]
|
||||
row += bytes((r * 17, gg * 17, b * 17))
|
||||
rows.append(bytes(row))
|
||||
|
||||
Reference in New Issue
Block a user