友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
游戏开拓者-第3部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
这么久,但长达三十六次的优化让张乐行对操作系统的源代码记忆犹新,既然眼下有时间,手头的AppleDOS又不好用,张乐行决定马上动手写出来。
完整的源代码比较长,经过最终优化后的核心代码有大约1500行,张乐行认真回想了一下,熟悉的代码很快从脑海中浮现出来,他呼了一口气,开始按照记忆录入代码。两个多小时过去,代码的输入完成了,张乐行认真核对一遍并修改了几处打错的地方,感觉应该没什么问题了于是马上存盘,然后将软盘的引导区作了修改,以便软盘启动后能顺利引导新系统。
重新启动电脑,张乐行趁着系统启动的空隙,揉了揉有些酸胀的胳膊,动了动有些僵硬的手腕。身体活动开了,新系统也读完盘开始启动,很快屏幕上出现了一个“LOGIN:”的提示符,张乐行输入默认的用户名和密码后,一个崭新的命令行出现了。
这个新的操作系统是根据后世常见的一些磁盘操作系统来设计的,可以支持磁盘、支持层次型目录,提供文件管理功能,有内存调度功能,还能实现多任务(例如在运行文字处理软件时需要某些数据,可以通过驻留的管理程序调出需要的其他软件,查出来后又可以切换回文字处理软件)。不过现在系统功能还不完整,暂时只完成了内核部分的代码,还需要增加一些辅助程序,而且试运行过程中发现了一些小Bug,看起来也许是模拟器和实机有差距的缘故,系统还需要做进一步的调试和优化。不过这款操作系统名字张乐行倒是已经想好了,打算用好事者们起的那个名称Kylin。
凝聚着众人心血的Kylin系统穿越了厚重的时空,出现在这个苹果II还是如日中天的时代,张乐行的人生也开始有了细微的变化。
接下来的日子里每天的行程都安排的很紧密,张乐行天天泡在电脑室,上午的时间用来优化调试操作系统和为操作系统增加一些辅助程序,下午的时间则用来指点赵叔使用苹果II和翻译《BASIC使用指南》。一个星期过去,张乐行的操作系统Kylin基本完工,赵叔也学会了苹果II的初步操作,还能利用苹果II上的ROM-BASIC编点简单程序,当然写代码的时候常常还需要看看张乐行写的手抄简化版BASIC使用手册。
“乐行,不错嘛,这才个把星期就弄出一本手册来,赵叔会用这新机器可全靠你呀。”赵叔边翻BASIC手册边感谢我。
张乐行对赵叔摆摆手,谦虚道:“没什么的,我其实也是看了随机资料才写出来的,那上面其实挺详细的,我只是捡重要的地方翻译了一下而已。”。
“我觉得你挺不错的,起码比厂里那两个大学生有本事多了,他们就啥也弄不明白。”赵叔笑着说道:“我看你挺喜欢计算机的,有没有兴趣过来帮赵叔的忙。”
“赵叔,这能行吗?我才多大,厂里能让我进?”张乐行心里很高兴,嘴上却故意表现出一些怀疑。
“没事,你本来就是厂里的家属,厂长是我以前的战友,赵叔帮你去说说,准没问题,包在赵叔身上了。”赵叔拍拍胸口,算是把这事担下来了。
“赵叔,那这事可真麻烦您啦。”张乐行感谢道。
……
过了两天,张乐行感觉用汇编写的程序可移植性不太好,而BASIC写的程序运行速度又太慢,不由的开始怀念起自己比较擅长的C语言来,可惜苹果II上没有,好在张乐行对标准C很熟悉,他决定自己动手来解决这个问题,于是张乐行有了新的开发任务——为操作系统增加一个C语言编译器。因为C语言拥有良好的可移植性,这样张乐行编写的很多代码换到新电脑上可以很容易就可以利用起来,修改量一般不会太大,毕竟明年IBM-PC就会发布,虽然国内好像要到85年左右才开始引进,要知道这可是未来几十年的平台,可不是苹果机能比的。
快到中午时,沉浸在C语言世界的张乐行还在努力地堆着代码,赵叔突然满脸兴奋的冲进电脑室来,拉着张乐行的手就往外走,边走还边乐呵呵的说道:“乐行,走,赵叔带你吃午饭去。”。
到了厂里的食堂,心情相当不错的赵叔比平常多打两个菜,油汪汪的红烧肉炖豆角干,看着就让人眼馋,张乐行的食欲也比往常好了很多。打完饭菜,赵叔拉着张乐行来到一个靠墙的餐桌,放好饭盆和菜盆,赵叔开始边吃边聊。
“这两天我去找厂领导了,把你写的这个BASIC手册拿出来一摆,当时就把人镇住了。再加上我把你这段时间的一些情况往好了说,蘑菇了两天,总算把这事办下来了。乐行,以后你就算是厂里的职工了,工资每月八块五,另外考虑到你的情况,厂里再每月补助四块。今后你就跟赵叔一个地方上班了,下午我带你去办手续去。”赵叔解释道。
听到这,张乐行心中十分高兴,自己最紧迫的问题终于得到解决,当然他没忘记感谢赵叔这几天的努力。
吃完午饭,赵叔带着张乐行到厂里办手续,一下午转下来,人事科、档案室、财务室……,差不多把所有办公室都转完,手续才基本办完,只等厂里上报人事局批准即可正式上班。以后张乐行终于可以光明正大的到电脑室去用电脑,再也不用担心别人说闲话了。
第二天,张乐行正式开始C语言编译器的设计。C语言编译器主要由六个部分组成,词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成,这里面最影响代码运行效率的是最后两步,如果能针对某种CPU优化设计,将能大幅提高最终代码的运行效果。几天下来,C编译器正式完工。为了检查编译器,张乐行写了一些测试程序,都正常编译通过,看来编译器已经可以正常工作。为了进一步测试编译器的性能,张乐行以记忆中的《挖金子》为蓝本,写了一个C语言版本的,经过编译,发现运行相当正常,和用汇编语言编写的作对比,感觉运行速度差别不大,看来这款编译器性能不错,唯一有点缺憾的是苹果II处理器性能很一般,结果程序的编译速度比较慢,不过好在不影响最终的运行效果。
沉迷于纸上BASIC世界的赵叔偶然一抬头,发现张乐行在玩的《挖金子》(其实张乐行只是在对比不同语言编写出来程序的运行效率),立刻跑过来观看。
“乐行,这是什么玩意,看起来好像很有趣的。”赵叔好奇的问道。
“嗯,这是游戏,我才写的。”正在思考问题的张乐行随口回答道。
“来,给赵叔拷一份。”一张软盘伸到张乐行的面前。
张乐行回过神来,苦笑了一下,利用自己编写的磁盘对考工具把游戏盘给赵叔复制了一份,赵叔兴高采烈的拿着软盘收到自己的软盘盒里,估计是打算下午的时候去玩。
看到C编译器效果还不错,张乐行开始对操作系统做进一步优化。首先对内存管理做了一些调整,减少了操作系统内存的占用;其次是增加了简单的磁盘压缩功能,变相将软盘容量从160K提升到220K,这样一张软盘可以塞下更多的东西。
操作系统和C编译器完工后,趁着星期日好好休息了一天,张乐行又开始新的目标对准了随机软件中的VisiCalc电子表格软件。
第四章 电子表格
苹果II上着名的电子表格软件就是VisiCalc,开发者是丹?布里克林(DanBricklin)和他的好友鲍伯?弗兰克斯顿(BobFrankston)。
VisiCalc设计想法的萌芽是发生在1977年,当时布里克林已经离开之前工作的DEC公司,正在哈弗商学院攻读工商管理硕士。这期间,最令布里克林痛苦的是导师布置的一些课外作业,都是一些单调而乏味的填写单据、账目和统计表格的事情,不但毫无乐趣可言,而且一不小心还容易出错。会玩计算机的布里克林自然不愿意忍受,他很快就瞄上了学校的小型机,打算把这些麻烦的工作交给来计算机来处理,可是他发现不同的财务问题需要不同的计算方法,需要常常重新编程,于是讨厌重复的布里克林有了编写一个通用程序的想法。
1978年春季,布里克林学会了流行的BASIC语言,充满创作激情的他决定开始自己的程序设计,这次他想先从微机上开始。当时流行的微机主要有克摩多的PET、唐迪的TRS-80、苹果公司的苹果II,由于彼此之间不能兼容,所以初期的选择很重要。最后布里克林选中了苹果II,倒不是苹果II性能好到哪去,只是可怜的布里克林当时只能借到一台苹果II。微机到手以后,布里克林的程序编制工作正式开始,第一个版本是用BASIC语言编写,虽然速度慢得可以在运算期间泡咖啡喝,但已初步具备了电子表格的基本特征。
再想让程序运行速度有较大的改善,只能考虑用汇编了,可是布里克林在这方面并不擅长,这时他想起自己的好友弗兰克斯顿来。布里克林把自己的想法告诉了弗兰克斯顿,早就有意创业的弗兰克斯顿欣然同意,两人在1979年初成立了一间名叫软件艺术(SA)的小公司,共同改进布里克林手上的程序。两人分工协作,努力了两个多月,总算写出软件艺术公司的第一款商业软件。软件编写出来之后,两人给这个软件起了个“VisiCalc”的大名,“Visible”是“可视的”而“Calculate”是“计算”,两单词斩头去尾再叠加,所谓VisiCalc”,即“看得见的计算”也。
不久之后,VisiCalc在个人软件公司的老板费斯特拉(D。Fylstra)帮助下正式推向商业市场,经过初期销售的平淡,VisiCalc很快在众多公司财务人员之间流行了起来,连带着促进了苹果II的销售,到1980年已经有超过两万五千台苹果机被主要用来运行这种电子表格。
……
当然这些存在于IT史话之中的情况,张乐行并不太清楚,他只知道VisiCalc是苹果II上最流行的电子表格软件,当年研究苹果II模拟器时也分析过这款软件,现在有了真实的苹果II,张乐行忍不住想重温一次。
试用过随机的电子表格软件VisiCalc后,张乐行感觉和自己印象中差不多,软件功能比较简单,他曾经构想过的改进方案有了用武之地。张乐行曾见识过不少电子表格软件,从最早的CCED、Louts1-2-3,到之后差不多一统天下的MS-Execl,虽然这些软件对系统的要求远超过眼前这台苹果II,但是它们设计中的一些人性化考虑还是很有参考价值的。利用反汇编重温了一遍VisiCalc的源代码,回想着用过的众多电子表格软件,张乐行的心中慢慢有了一款电子表格软件的设计框架。软件设计开始……
两个多星期后,电子表格程序已经初步完成,大部分设想中的功能都基本完成,没实现的功能都是因为苹果II性能不够的缘故,每当这时张乐行就无比怀念尚在襁褓之中的IBM-PC机,当然他更怀念的是酷睿2双核。接下来就是软件的调试优化阶段,排排错、优化优化,过了差不多快两个星期,电子表格软件已经基本调试到最佳状态,在花上几天时间补上软件使用帮助后,终于大功告成,最后张乐行随手给软件起了个名字叫做VisualForm。
完成VisualForm设计之后,我对随机的VisiCalc进行了改造,当然最主要的想法是搞个软件来探探路,看看厂里对待电脑的态度。VisiCalc本身是不支持双字节的,再加上这台苹果II没有汉卡,当然没办法直接显示出汉字。好在张乐行当年研究苹果II模拟器时,看过一些有关苹果机软字库的设计资料,对他很有启发,里面很多代码一直记忆犹新。
花了三天时间,张乐行设计出一个可拆卸式汉字处理模块,利用挂钩技术接管了VisiCalc的输出处理,成功将其主要界面中文化,并按照他了解到的一些有关厂里财务管理的情况作了适当的调整。只是由于缺少全面的字库和输入法,当然主要是张乐行实在没精力去一个点一个点的画汉字,光是把界面上显示的汉字画出来就把他累得半死,眼睛看东西都有点恍惚了,所以只能显示固定的中文提示,还不能输入中文。
中文显示VisiCalc一出,当时就把赵叔给震住了。看着电脑屏幕上陌生又有些熟悉的文字(汉字点阵比较少,有些字的笔画只能做些调整),赵叔的嘴张得能塞下鸡蛋。
“天哪,乐行,你……你这是怎么搞出来的?”回过神来的赵叔马上抓着我问道。
“我没事做着玩的,从这些资料里面看到一些程序处理办法,试了试,没想到还真能显示出汉字来,就是汉字画起来太麻烦,就为了这几个字我差不多画了大半天。”张乐行又熟练地把赵叔的疑问推到不能说话的资料上,反正也厂里也没人能搞懂这个英文资料。
“乐行,我看你弄出来的这个挺有意思的,要不我拿去给领导看看。”赵叔兴奋的说道。
“赵叔,别急。这个我还要完善完善的。”张乐行其实有点担心软件交上去后,这台电脑就没有机会用了,毕竟厂里就这么一台苹果II,他还想给自己多攒点有用的程序。
拗不过张乐行的坚持,赵叔只好勉强答应。可是才一个星期,赵叔在和厂长吃饭的时候一时没忍住,顺嘴就把这个软件给说出来了。电脑室搞出点成绩来,尤其是和厂长安排进厂的人有关,厂长当然是非常满意的,马上就让办公室主任安排相关领导来参观参观。
在张乐行和赵叔一起演示过中文化的VisiCalc后,领导们看起来都很高兴的,纷纷发表热情洋溢的讲话。
“……电脑室的同志们工作还是很努力的,成绩还是很明显的嘛……”领导甲说道。
“……这个情况说明我们厂里的同志们还是很有钻研精神的,值得鼓励!”领导乙也表明了自己的态度。
……
可是当有人提到财务室是否考虑使用的时候,分管财务的副厂长不乐意了,发表了一通对计算机不信任的话,最后还表示如果用这个将来账目出问题他可不负责。最后还是办公室主任出来打圆场才把气氛缓和下来,当然这款软件也不出意外的被送到档案室,封存起来以备今后有上级领导来视察的时候使用,至于财务室当然不可能去用,他们这时候信任的只有自己笔和算盘。
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!