何春辉的Tiny386将ESP32-S3变成一台功能齐全的386电脑。
He Chunhui's Tiny386 Turns an ESP32-S3 into a Fully-Functional 386-Powered PC

原始链接: https://www.hackster.io/news/he-chunhui-s-tiny386-turns-the-humble-esp32-s3-into-a-fully-functional-386-powered-desktop-pc-5454cf6e36a1

开发者何春辉取得了一项了不起的成就:使用名为Tiny386的模拟器,在微小的Espressif ESP32-S3微控制器上运行Windows 95和其他16/32位软件。这个项目有效地将这款低成本芯片变成了一台可用的“90年代PC。 Tiny386是一个可移植的、基于C99的x86模拟器,围绕一个定制的i386 CPU模拟器构建(约6千行代码)。虽然缺乏调试等功能,但它成功地模拟了足够的架构来运行经典软件,如Doom,甚至启动Linux。 尽管ESP32-S3的成本和功耗远低于原始386处理器,但其240MHz双核处理器在外部RAM的帮助下,足以进行模拟。该模拟器包括模拟的VGA图形、网络和声卡选项(PC扬声器、Adlib、SoundBlaster)。 该项目在GitHub上开源,展示了现代微控制器重现和运行遗留软件的潜力。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 He Chunhui 的 Tiny386 将 ESP32-S3 变成一台功能齐全的 386 驱动的电脑 (hackster.io) 9 分,HardwareLust 发布 26 分钟前 | 隐藏 | 过去 | 收藏 | 讨论 考虑申请 YC 的 2026 年冬季批次!申请截止至 11 月 10 日 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

Developer He Chunhui has turned the humble Espressif ESP32 microcontroller into a fully-fledged '90s personal computer with Tiny386 — a resource-efficient emulator capable of running Microsoft Windows 95 and a range of 16- and 32-bit software packages on the low-cost chip.

"Tiny386 is a x86 PC emulator written in C99," Chunhui explains of the project. "The highlight of the project is its portability. It now boots Windows 9x/NT on MCU [Microcontroller Units] such as [the Espressif] ESP32-S3. The core of the project is a built-from-scratch, simple and stupid [Intel] i386 CPU emulator. Some features are missing, e.g. debugging, hardware tasking, and some permission checks, but it should be able to run most 16/32-bit software."

What once took a shiny new desktop computer can be achieved with a low-cost microcontroller — thanks to Tiny386. (📹: He Chunhui)

The 80386, more commonly known as the 386 and later rebadged as the i386, was released in 1985 as the successor to the best-selling 80286, expanding the nascent x86 architecture's capabilities with a six-stage instruction pipeline and support for 32-bit operation with an on-board memory management unit. It was, at the time, a powerful chip and found a home in desktops, laptops, and even servers of the era.

The Espressif ESP32-S3, by contrast, is a low cost — but nevertheless highly capable — microcontroller, available for a fraction of the price of the 386 in its heyday and drawing considerably less power. Despite this, it's also a lot more powerful: the 386 was available in clock speeds of 12MHz up to 40MHz; the ESP32-S3 features a pair of Tensilica Xtensa LX7 cores running at 240MHz. That gap in power means, somewhat surprisingly, it's possible to emulate a mostly-functional 386 PC using just the ESP32-S3 plus some external pseudo-static RAM.

The Tiny386 runs on the microcontroller itself — though is designed for portability to other platforms, with Chunhui releasing a demo that runs in-browser — and, despite having some functionality stripped out, can run a wide range of software including, naturally, Id Software's 1993 classic first-person shooter Doom. The project borrows peripherals from other emulators to flesh out the system, adding VGA graphics capabilities, an emulated Ethernet network interface, and even a choice of three sound devices: PC speaker, Adlib OPL2 synthesis, and Creative Labs' SoundBlaster 16.

"To boot [a] modern Linux kernel and [Microsoft] Windows, some 486 and 586 instructions are added," Chunhui notes of the overall feature set. "The CPU emulator is kept in ~6k LOC [Lines Of Code]. There is also an optional x87 FPU [Floating-Point Unit] emulator. For firmware, the BIOS/VGABIOS comes from [the] SeaBIOS [project]. Tiny386 also supports booting [the] Linux kernel directly, without traditional BIOS."

Full source code for the project is available on GitHub under the permissive BSD three-clause license, with Chunhui having demonstrated success booting it on the low-cost Guition JC3248W535 ESP32-S3-based LCD development board. Additional information is available on Hackaday.io, with an in-browser demo available via GitHub Pages.

联系我们 contact @ memedata.com