Folia
← 返回头版

开发者为ZX Spectrum 48K打造图形桌面系统

一位开发者为1982年的ZX Spectrum 48K计算机完成了图形桌面系统的开发,该系统采用Z80汇编语言编写,支持重叠窗口、下拉菜单和文件管理器等功能,所有代码均适配48K内存的严格限制1。系统在真实硬件上运行,帧率达到50Hz,完整帧恰好为69,888 T状态,窗口拖动可在单一帧内完成1。屏幕填充在显示区域最坏情况下需要13,473 T状态,相当于仅占用14.7%的性能开销1。

在开发过程中,开发者深入解决了多项关键技术难题1。其中最重要的是中断安全问题:DI指令覆盖INT信号的32 T状态会导致中断丢失而非延迟1。通过采用"欠付推送"技术在启用中断状态下运行填充操作,项目实现了堆栈安全的保证1。此外,开发者发现并修复了多个隐蔽bug,包括寄存器冲突导致的搜索失败、跨越256字节边界的行步长错误以及LFSR周期错误(实际为71而非65,535)1。

项目采用MIT许可证发布,工具链和模拟器单独分发,支持esxDOS和DivMMC模拟1。项目计划进一步移植到ZX Spectrum Next平台1。


评论