12-6-2001: I begin a running development diary, and start off with an embarrassingly optimistic schedule.
12-18-2001: Do basic design of fault/interrupt mechanism, and make mistake that eventually becomes the last bug to fix before Magic-1 comes alive two-and-a-half years later.
12-29-2001: Complete first rev. of the microcode.
1-6-2002: Magic-1 simulator complete enough to trace call/return sequence.
1-8-2002: Simulate Fibonacci function and flesh out software conventions
1-13-2002: Magic-1 assembler (qas) takes shape
1-18-2002: Big-endian vs. little-endian
2-28-2002: Page fault mechanism works in simulator
3-9-2002: Decide on construction technique: wire-wrap prototype boards
6-3-2002: During LCC retargeting, decide to significantly change Magic instruction set architecture
6-4-2002: Compile Fibonacci program in C to Magic assembly
6-22-2002: Move to split code and data spaces
6-25-2002: Design context switch to work well with Minix operating system
7-12-2002: Complete microcode rewrite
8-13-2002: Drop support for rotate instructions
9-11-2002: Gil Smith give me basic electronics lesson, as well as a wire-wrap gun & supplies
9-22-2002: Buy card cage on eBay and begin construction [pictures]
Fall 2002: During a Vito's lunch, I ask Ken Sumrall how to know what value resistors to use. He introduces me to Ohm's Law.
3-30-2003: Inspired by John Doran's D16/M, complete ALU/Register card schematics
4-13-2003: Complete control card schematics
4-14-2003: Thoughts on front panel
5-3-2003: First rev of schematics complete
5-6-2003: Move build environment from Linux to Windows
5-16-2003: Thoughts on new Magic-1 simulator
5-27-2003: Fibonacci runs on new simulator
6-3-2003: New assembler functional
6-21-2003: Hit 100% coverage on Magic architectural validation test suite
6-23-2003: Alistair Roe emails with thoughts on an enclosure for Magic-1
8-3-2003: Retarget LCC C compiler to Magic & create retargeting notes
8-10-2003: On my birthday, C version of Fibonacci runs in simulator
8-27-2003: David Conroy teaches me about signal integrity
9-18-2003: Decide to use cut-strip-wrap wire-wrapping technique
1-3-2004: Design complete, construction begins
1-18-2004: Magic-1's heart beats for the first time [pictures]
1-26-2004: Front panel logic card complete, [pictures]
2-9-2004: Memory card complete, [pictures]
2-20-2004: EPROM daughter card complete, [pictures]
2-26-2004: Device card complete, [pictures]
3-7-2004: Microcode sequencer comes to life
3-9-2004: First instruction executed
3-19-2004: Control card complete, [pictures]
4-8-2004: Premature bringup attempt
4-12-2004: ALU/Register card complete, [pictures]
4-12-2004: Bring-up attempt - failure!
4-13-2004: Success! Magic-1 runs Fibonacci, [video]
4-25-2004: Dave Conroy debugging session finds ungrounded memory chip
5-3-2005: Magic-1 talks
5-8-2004: Sieve of Erasthones benchmark runs
5-16-2004: IDE interface comes alive; Alistair Roe's enclosure concept
7-23-2004: Basic bringup complete
9-12-2004: User-mode programs work; telnet access to Magic-1
9-15-2004: Dhrystone benchmark runs
9-22-2004: fork() implemented using copy-on-write
10-23-2004: Magic-1's Dhrystone score hits 384 (0.25 MIPS)
10-31-2004: Colossal Cave Adventure runs
4-9-2005: Alistair Roe's enclosure and front panel arrives on doorstep
5-13-2005: Magic-1 is hardware complete.
2001.12.06: Buzbee开始写项目:志,并为自己制定了一张艰难但还算乐观的:程表
2001.12.18: 完成错误处理和中断机制的基本设计
2001.12.29: 完成微代码的第一轮设计
2002.01.06: 完成了Magic-1模拟器,可以对调用/返回指令序列进行跟踪
2002.01.08: 模拟了Fibonacci函数,并丰富了软件接口约定
2002.01.13: Magic-1汇编器(qas)成形
2002.01.18: 决定是选择大尾数法还是小尾数法表示整数的字节顺序,最终选择了大尾数法
2002.02.28: 在模拟器中完成了页面错误机制
2002.03.09: 决定使用普通电线来进行连线
2002.06.03: 对指令集架构进行了意义重大的改变
2002.06.04: 用C语言编写了Fabonacci程序并编译为Magic汇编程序
2002.06.22: 改用分立的数据和代码地址空间
2002.06.25: 设计用于多进程的上下文环境切换
2002.07.12: 完成对微代码的重写工作
2002.08.13: 放弃对rotate指令的支持
2002.09.11: 上了Gil Smith的一堂电子电路课程
2002.09.22: 从eBay上买了板材和外壳
2002 的其他日子 向Ken Sumrall请教如何使用寄存器,从他那里学到了Ohm规则
2003.03.30: 从Jhon Doran的D16/M中得到了灵感,完成了ALU/寄存器板的架构
2003.04.13: 完成控制板的架构
2003.04.14: 思考前面板的架构
2003.05.03: 第一轮架构设计完毕
2003.05.06: 将构建环境从Linux一直到Windows
2003.05.16: 构思新的Magic-1模拟器
2003.05.27: 在新的模拟器上成功运行了Fibonacci程序
2003.06.03: 完成了新的汇编器功能
2003.06.21: Magic架构验证和测试用例达到了100%覆盖率
2003.06.23: Alistair Roe通过email提出了Magic-1外壳的构想
2003.08.03: 将LCC(C编译器)移植到了Magic上
2003.08.10: 在模拟器上成功地实现了Fibonacci程序的C语言版本 (这一天是Buzbee的生日)
2003.08.27: 从David Conroy那里学到了信号完整性
2003.09.18: 决定使用普通的带皮电线进行连接
2004.01.03: 完成了全部的设计工作,开始制作
2004.01.18: Magic-1有了第一次心跳
2004.01.26: 前面板完成
2004.02.09: 内存板完成
2004.02.20: EPROM子板完成
2004.02.26: 设备板完成
2004.03.07: 微代码序列成功运转
2004.03.09: 执行了第一条指令
2004.03.19: 控制板完成
2004.04.08: 尝试发布前期的工作
2004.04.12: ALU/寄存器板完成;同:被告知,发布尝试失败
2004.04.13: Magic-1成功运行了Fibonacci程序!
2004.04.25: Dave Conroy的测试会话发现了不真实的内存碎片
2004.05.03: Magic-1能“说话”了
2004.05.08: 运行“Sieve of Erasthones”基准
2004.05.16: 完成了IDE接口,Alistair Roe完成了外壳设计
2004.07.23: 发布基本架构
2004.09.12: 用户模式程序可以工作
2004.09.15: 运行“Dhrystone”基准
2004.09.22: 使用copy-on-write实现了fork()
2004.10.23: Magic-1的Dhrystone得分达到了384(0.25MIPS)
2004.10.31: 运行Colossal Cave Adventure
2005.04.09: Alistair Roe设计的外壳到货
2005.05.13: Magic-1的硬件设计完毕