如何用关联引导加载器汇编的C代码修改屏幕特定小像素
需求与问题说明
- 需要修改比80×25文本网格单元格更小的像素,因此修改单元格颜色的方法无法满足精细效果需求
- 此前使用的代码会占用整个单元格,无法实现精细像素控制;同时采用频繁清屏而非仅在指定位置着色的逻辑,运行效率极低
- 若不关心像素大小限制,会使用以下代码(该代码未完成有效修正,大概率存在bug):
#include <stdint.h> #include <stddef.h> const static size_t NUM_COLS = 80; const static size_t NUM_ROWS = 25; struct Char { uint8_t character; uint8_t color; }; void define_pixel(uint8_t specifiedColor) { if (col > NUM_COLS) { print_newline(); } buffer[col + NUM_COLS * row] = (struct Char) { character: (uint8_t) ' ', color: specifiedColor, }; col++; }
内容的提问来源于stack exchange,提问作者user14683910
相关产品推荐
相关产品推荐

