CP/M
基尔代尔只用几个月就创建了一种名为PL/M的语言。PL/M的研发受到了PL/I的启发,后者是一种比BASIC复杂得多的大型计算机语言。基尔代尔在教室后方设置了一套开发系统,建立了海军研究生院的第一个微型计算机实验室。好奇的学生会在课后去那里转悠,在这套系统上摆弄好几个小时。后来,英特尔公司将Intellec-8从8008处理器升级为8080处理器,并为基尔代尔提供了一台显示器和一台高速纸带输入机,于是这位教授和他的学生就有了一套可与早期Altair相媲美的系统,而当时Altair甚至连构思都尚未成形。
然而,基尔代尔发现,要想开发一套成功的计算机系统,仍然缺少一个关键要素——一台高效的存储设备。当时用于大型计算机的两种常见存储设备是纸带输入机和磁盘驱动器。因为微型计算机的运行速度十分缓慢,纸带输入存储又实在过于笨重、昂贵,所以基尔代尔打算弄一台磁盘驱动器。基尔代尔为舒加特公司开发了一些小程序,并因此换来了一台磁盘驱动器。这里有个问题:为了让磁盘驱动器运行,需要一个特殊的控制器,即一块处理复杂任务的电路板,用于让计算机与磁盘驱动器进行交流。
基尔代尔曾多次想要设计这样一款控制器。他也尝试过建立接口,允许系统连接到盒式磁带录音机。但他发现,要想解决连接两台机器这种复杂的工程问题,光靠编程天分是不够的。项目失败了,基尔代尔认定自己完全不擅长硬件构建。尽管如此,他还是演示了很多版本。好几年后,微型计算机才开始普遍使用磁盘驱动器。在1973年年底,基尔代尔联系了在华盛顿大学的朋友约翰·托罗德,托罗德后来创办了自己的微型计算机公司。基尔代尔对他的朋友说:“只要能让驱动器动起来,我们就能得到一个好东西。”而托罗德让驱动器动了起来。
与此同时,基尔代尔继续对软件加以润色。1973年年末的一天,就在已经为磁盘驱动器的问题经受了几个月的折磨之际,基尔代尔用PL/M语言写了一套简单的操作系统。基尔代尔将这套操作系统命名为CP/M。尽管CP/M已经为磁盘存储信息提供了所需的软件,但基尔代尔后来还是对它进行了进一步的开发。
CP/M的一些改进颇为古怪。基尔代尔一边继续教书,一边和本·库珀一起参与了一个项目。库珀是旧金山的一位硬件设计师,曾与乔治·莫罗一起开发过磁盘系统,后来库珀开办了自己的Micromation公司。库珀认为,制造一台绘制星盘的机器可以获得商业上的成功,于是他邀请基尔代尔出手相助,参与项目。这两人既不相信占星术,对此也毫无兴趣,而且他们都觉得占星术是胡说八道,但库珀对硬件有想法,而基尔代尔想好好计算一下星星的位置,他们也认为这最后可能会取得商业上的成功。于是,库珀制造硬件,基尔代尔编写程序,最终研制出了“占星机”,像街机游戏一样,这台机器可以摆放在杂货店里,吞进硬币并打印出星座占卜。基尔代尔觉得这台机器很漂亮。
然而,占星机在商业上失败了。占星机的制造者将机器放置在旧金山的大街小巷,但让这两位计算机发烧友兴奋不已的梦幻旋钮和按键却激怒了使用者,而且理由非常充分。客户将硬币投进机器,但打印纸会卡在机器里。基尔代尔和库珀被这个问题难住了。基尔代尔后来说:“那完全是一堆垃圾。”
尽管结果令人失望,但是占星机让基尔代尔第一次有机会对CP/M的各部分进行商用试验。在为占星机编程的过程中,基尔代尔重写了调试程序和汇编程序,这两种程序是创建软件的两个工具,他还开始研究编辑器。这些都是开发程序的必备工具。此外,基尔代尔还创建了一个BASIC编译器来为占星机编写程序。后来,基尔代尔将自己在这个项目中学到的一些BASIC开发技巧传授给了自己的学生戈登·尤班克斯。
在致力于连接磁盘驱动器时,基尔代尔和托罗德没有过多地谈及微型计算机,但二人交换了关于微处理器潜在应用的看法。他们和英特尔公司的设计师始终相信,微处理器将会应用在食品搅拌器和自动化油器等物品上。他们打算推出一套组合硬件和软件的开发系统,从而促进微处理器在其他方面的使用。基尔代尔对未来微处理器的“嵌入式应用”的信念无疑来自在英特尔公司的那些同事。基尔代尔和其他几个程序员一度用4004微处理器写过一个简单的游戏程序。他们找到英特尔公司的时任总裁罗伯特·诺伊斯,建议诺伊斯把这个游戏推向市场,但诺伊斯断然拒绝了。诺伊斯坚信微处理器的未来发展方向是另一个领域。他告诉基尔代尔等人:“微处理器将来肯定是用在手表里的。”