Nanochess

Nanochess,Oscar Toledo G. 的主页,世界最小国际象棋程序的创造者,多次 IOCCC 与 JS1K 获奖者,展现代码精炼与极致优化的艺术。

用 JavaScript 运行 1996 年 Am29000 窗口操作系统的机器码模拟器

Nanochess 将 1997 年的 Am29000 窗口操作系统移植到 JavaScript 模拟器中运行。利用现代 JIT 编译性能,通过 Uint8Array 优化内存,Base64 编码软盘镜像,并模拟 Cirrus Logic GD-5429 显卡实现 800x600 64k 色彩显示。提供调试器、文本编辑器、文件管理器等完整桌面应用,源码已开源。
评论点赞收藏8 天前

在 Am29000 自制电脑上重现 1996 年的窗口操作系统

Nanochess 用 Am29000 处理器自制电脑,1996-1997 年在 32 位机器码中编写了一个可从软盘启动的窗口操作系统。2026 年他重新翻出当年的两张软盘镜像,写了一个 Am29000 模拟器来运行它,过程中逐步调试了乘法指令陷阱、定时器中断、软盘控制器等底层问题。
评论点赞收藏15 天前

为自制Am29000计算机开发窗口操作系统

作者还原了1996-1997年在AMD Am29000自研计算机G11上从零构建窗口操作系统的工程细节,包含指令集陷阱处理、中断调度与硬件适配的原始调试记录。文章披露了Am29000架构中MULTIPLU和DIVIDU指令的陷阱实现机制,以及通过定时器寄存器gr1=0xbfffefa8实现6MHz系统时钟的调试过程,并对比了OS/2消息管道设计与X11R5矩形裁剪算法在嵌入式环境下的适配方案。
评论点赞收藏16 天前

5KB C语言实现的终端版接龙游戏

作者为参加IOCCC(国际C语言混乱代码大赛),在5KB限制内用C语言和curses库开发了一个终端版接龙游戏。文章详细记录了从UI简化、跨平台ncurses兼容性坑到代码混淆技巧的全过程,并附带完整源码。
评论点赞收藏68 天前

2025年重制1983年Mattel ECS主机的BASIC解释器

作者2025年重制1983年Mattel ECS主机的BASIC解释器。详细记录了实现字符串支持、定制垃圾回收算法、修复浮点运算精度、以及通过UART和音频接口实现磁带/打印机存取的底层调试过程。包含大量汇编细节和踩坑经验。
评论点赞收藏307 天前

2025年重写BASIC解释器以替代原版慢速实现

作者为Intellivision ECS主机重写了一个更快的BASIC解释器。文章详细记录了从底层浮点运算优化、内存管理到图形接口实现的完整过程,并通过反汇编对比揭示了原版BASIC性能低下的具体原因(如低效的移位和内存访问指令)。这是一篇充满工程细节、一手踩坑经验和硬核技术判断的复古计算开发日志。
评论点赞收藏321 天前

自制Transputer ISA扩展卡:从手工焊接到KiCAD设计的全流程复盘

作者回顾1990年代开发Transputer软件的经历,近期自制兼容Inmos B004的ISA扩展卡。文章详细记录了从手工焊接原型到使用KiCAD 9和PCBWay制造PCB的全过程,包括多次设计失误、调试排错以及最终成功运行Occam编译器的经历。内容包含大量硬核电子工程细节、复古计算情怀及现代EDA工具的使用体验。
评论点赞收藏408 天前

用JavaScript实现Transputer模拟器:速度快到足以实用

作者将C语言编写的Transputer处理器模拟器移植到JavaScript,利用JIT编译、Uint8Array和Float32Array等现代JS特性优化性能。文章分享了处理32位有符号整数陷阱、压缩40MB硬盘镜像数据以及复用1996年字体等工程细节,并展示了预装的1996年操作系统、3D建模器和光线追踪器的运行效果。
评论点赞收藏499 天前

我的少年时代:在Transputer上开发操作系统

作者回顾16岁时在Transputer架构上从零开发操作系统的经历,包括编写C编译器、处理128KB内存限制、调试浮点运算错误等。三十年后,他重新编译并修复了当年的代码,成功让3D渲染程序运行。文章包含大量底层系统开发细节、硬件限制下的工程技巧以及怀旧的技术复盘。
评论点赞收藏521 天前

1995年在Transputer上引导小型C编译器与操作系统

作者回顾1995年16岁时在Transputer处理器上引导小型C编译器及操作系统的经历。文章包含从BASIC到C的学习曲线、Small-C编译器移植细节、基于MINIX理念设计的分布式BIOS架构,以及近期通过Transputer模拟器恢复旧软盘数据的考古式调试过程,充满一手工程细节和怀旧技术洞察。
评论点赞收藏538 天前

14岁那年,我为Transputer编写了Pascal编译器

作者回忆14岁时在1993年用Transputer处理器从零开发Pascal编译器的经历。文章详细描述了从学习汇编、优化代码生成树到实现自举编译器的技术细节,以及当时硬件环境的限制。这是一篇充满技术细节和个人成长故事的一手回忆录。
评论点赞收藏557 天前

Akalabeth:从AppleSoft BASIC到GWBASIC的移植实录

作者分享将1979年经典RPG游戏Akalabeth从AppleSoft BASIC移植到GWBASIC的过程。文章详细记录了两种BASIC方言在图形渲染、输入处理和变量命名上的差异,以及解决VirtualBox模拟器和浮点数精度问题的工程细节。
评论点赞收藏843 天前

Intel 8080 模拟器:第19届 IOCCC 最佳展示奖作品

作者分享其获得第19届IOCCC“最佳展示奖”的作品:一个仅2000字符C语言编写的Intel 8080处理器模拟器。文章包含源码、编译指南、CP/M系统运行教程及底层原理剖析,兼具极客趣味与复古计算历史价值。
评论点赞收藏879 天前

Viboritas:逆向工程我11岁时编写的1990年游戏

作者回顾并逆向工程了自己11岁时用Z80汇编编写的2KB游戏《Viboritas》。文章详细记录了从原始软盘备份中提取二进制文件、反汇编代码、分析VDP图形设置、内存压缩技巧以及音乐播放器的实现过程,并展示了将其移植到MSX和Colecovision平台的代码细节。
评论点赞收藏921 天前

Mecha-9:为复古8位平台制作日语翻译的工程实录

作者回顾2015年为经典8位游戏Mecha-9制作日语版的工程细节。文章详细描述了在MSX硬件限制下,如何从手动输入Shift-JIS代码到利用现代工具进行Unicode到MSX字模的自动转换,并公开了相关的转换代码和字模数据。
评论点赞收藏933 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。