此板条箱在 STM32F407 微控制器上提供 800x600 60fps 图形。细心的读者会注意到 STM32F407 没有视频硬件,也没有足够的 RAM 来保存 800x600 彩色图像。那么如何m4vga从中获得高分辨率彩色视频呢?
这是我的 C++ 库的重写m4vgalib,加上我 的演示集的m4vgalib端口。它仍在进行中。(如果您好奇,请参阅我在端口上的注释。)
(最近,一些演示还为另一个没有视频硬件的平台编译:WebAssembly。)
为什么这很有趣
主要是因为真的很难。我每个像素有四个 CPU 周期可以使用,任何时间变化都会破坏显示。
演示
演示main文件位于m4demos/src/bin中,尽管一些演示的核心实现已迁移到fx 目录。
conway:全屏康威的生命游戏,每秒 60 帧——即每秒 2880 万个单元更新,每次更新的预算为 5 个周期(不包括视频生成)。
hires_text:80x37 文本模式。每个字符都有可调整的前景色和背景色。这看起来很无聊,但在技术上很有趣。
更多详情、使用方法,请下载后阅读README.md文件
2022-07-08 16:06:32
1.13MB
rust