这个项目是我在闲暇时间和 @Kevin 一起进行的。在根据 @Ben Eater 的教程制作过一个 8-Bit 面包板 CPU 之后,我们开始对面包版+跳线这种奇妙的「艺术」形式产生了相当浓厚的兴趣,并最终在鬼使神差下萌发了在面包板上复刻一台 Apple I 的奇妙想法。最终在这一念头的推动下,我们开始着手制作一台搭建在面包板上的「家酿」计算机。
出于对《乔布斯传》所描述的那个 70 年代由微处理器诞生而引发的组装计算机热潮的痴迷,我们选择了属于那个时代并在很长一段时间内被各类产品广泛使用的 MOS 6502 及其 CMOS 改进款 65C02 CPU,这使得最初想要复刻的 Apple I 上的 Woz Monitor 只需要稍加修改就能在我们的作品中运行起来,也为后续移植 Apple II 的操作系统提供了可能。
这一项目已经实现了初步的目标并且仍在进一步推进当中,我会将项目的进展和阶段性成果记录在这一系列博文中,如果你也对这样的手工制作感兴趣,希望这些记录可以给你提供一定参考。下面是我的写作计划:
目录
- 「挑选心脏」 - CPU 和时钟(待补充)
- 「让程序跑起来」 - ROM 和串口通讯(待补充)
- 「第一次拥有变量」- RAM(待补充)
- 「更多 IO ,更多抛瓦」 - VIA 和屏幕(待补充)
- 「主板还是焊死的好」 - PCB(待补充)
「摆脱束缚」 - 做一把键盘(待补充)
……
材料清单
以下是我们在项目中使用到的所有材料,这份清单可能随着项目进度的推进不断更新。
名称 | 数量 | 备注 |
---|---|---|
MOS 6502 / WCD 65C02 | 1 | CPU,由多家厂商都在生产(或生产过)这几款微处理器,这些不同厂家相同型号微处理器的功能和性能几乎是一致的,但请注意 6502 与 65C02 在引脚定义与拓展指令集上的微小差别 |
MOS 6551 | 1 | ACIA,串口适配器 |
MOS 6522 | 2 | VIA,用于拓展 IO 设备 |
28C256 | 1 | 32KB EEPROM |
61256 | 1 | 32KB SRAM |
74LS(HC)00 | 1 | |
74LS(HC)04 | 1 | |
74LS(HC)30 | 1 | |
74LS(HC)138 | 1 | |
NE555 | 1 | 555 Timer,重置电路消抖 |
1 MHz 晶振 | 1 | 系统时钟源 |
1.8432MHz 晶振 | 1 | 串口通讯分频时钟源 |
电阻 | 若干 | 建议备好常用电阻包 |
胆石电容、电解电容 | 若干 | 建议备好常用电容包 |
半长面包板 | 8 | |
杜邦线 | 若干 | |
8.5 * 8.5 自锁开关 | 1 | 内/外部时钟源切换,调试阶段用 |
贴片开关 | 1 | 重置按钮 |
各色 LED | 若干 | |
RS232 转 USB 转接线 | 1 | 开发前期与 PC 串口交流用 |
2004A LCD屏幕 | 1 | 也可以使用 1602A、W4004 等 LCD 屏幕(未使用 I2C 适配器) |
图片展示
待补充