工具与资源gitlab.brokenpipe.de
Avremu:用 LaTeX 编写的 8 位 AVR 微控制器模拟器
Avremu: An 8-Bit AVR Microcontroller Simulator Written in LaTeX
2014 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
Avremu 是一个用 LaTeX 写成的 8 位 AVR 微控制器模拟器,核心思路是把 TeX 宏系统当作可编程的计算/解释引擎来模拟 AVR 指令。它因为“用排版语言做底层硬件模拟”这一极端做法,多次登上 Hacker News 首页。
为什么经久不衰:它把 LaTeX/TeX 宏的可编程性推到荒诞又精彩的极限,是程序员“因为能做所以做”的经典案例,今天看仍然有趣且有启发。
HN 评论精选
赞叹之余分享了自己用 TeX 宏解析 HTTP 请求的经历,说明 TeX 确实可被当作通用计算层。
这太棒了,干得漂亮!还要多久我们才能在 ShareLaTeX 里写 ShareLaTeX 呢?;)我曾经写过一个 HTTP 服务器,利用 TeX 宏的灵活性,把 'content-length:' 这样的头部变成会记录其值的 TeX 命令,然后把传入请求当作 TeX 代码来处理。那玩意儿可不好看……
jpallen查看英文原文
This is awesome, great job! How long before we can write ShareLaTeX in ShareLaTeX? ;) I once got as far as writing and http server that used the flexibility of TeX macros to turn headers like 'content-length:' into TeX commands that recorded their value, and then processed the incoming request as if it were TeX code. It wasn't pretty...
肯定其难度,并建议若目标是跑 C,可考虑 MSP430 或 c4 的栈式 VM 等更简单的模拟目标。
这显然令人印象深刻。AVR 模拟起来出奇地烦人!如果你想模拟到能跑 C 的程度,有两个平台会轻松得多:* MSP430,指令集一页 Wikipedia 就能放下,同时比 AVR 更好编程;* c4 编译器的栈式虚拟机,它就是为了用最少代码行数运行 C 而设计的最小机器。
tptacek查看英文原文
This is obviously impressive. AVR is surprisingly annoying to emulate! If you're looking to emulate enough to run C on, two platforms that are significantly less painful: * MSP430, whose instruction set fits on a single Wikipedia page while simultaneously being nicer to program than AVR * The c4 compiler's stack machine VM, which was designed specifically to be a minimal machine on which to run C in the smallest number of lines of code.
半开玩笑地指出下一步可嵌套模拟 ARM 并运行 Linux,链接到 8 位机上跑 Linux 的项目。
显然的下一步是在它里面模拟 ARM,再用它跑 Linux:http://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%20on%208bit
dancsi查看英文原文
The obvious next step is to emulate ARM within it, and use it to run Linux: http://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%20on%208bit
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com