第九十一章 移动的小球(2 / 3)
写出简单的汉字,更别说画复杂的图形了。 于是工程师们便将这些艹作封装成一个个简单的指令,将整个显示器当成一个黑匣子,只要对黑匣子说“画横线”,那么黑匣子就会自动在显示屏上显示出一条横线,至于其中到底是如何实现的,使用者根本不用关心这些细节。 这个黑匣子就是固件。出厂的时候,厂家会给出一本厚厚的固件技术手册,手册中,详细介绍了显示器中所能支持的指令,点和线的画法是最基本的,有的甚至还有画各种各样的基本几何图形。当然,有的硬件工程师甚至会偷偷在里面埋下一个彩蛋,例如某条特定的指令可以自己在显示器上显示出他的名字。 之前林鸿虽然懂得维修电视机,却不知道为什么电视机能显示如此复杂的图案,看完这个章节之后终于有了一个比较深入的理解。 在看这个章节之前,他知道basic的“print”指令,可以在显示器上打印字符,但是具体为什么这个命令能打印字符,他就抓瞎了。 而现在他已经知道,这是因为显示器硬件中有一块被称为“显示存储区”(简称显存)的地方,这是个非常特殊的区域,这个区域当中的任何内容,都会被映射到显示屏上面。这个原理和他小时候玩的一个影子游戏非常相似。 晚上用手电筒照射在手上,然后就会在墙壁上显示出一个大大的影像,随着他的手指做出各种动作,墙壁上的图案也会随之变化。 显存就相当于他的“手”,而显示屏就是“墙壁”。 “print”指令完成的动作,就是将要显示的字符,发送到显存区域,这样固件部分就会自动完成显存里面的内容和显示器上的内容的对应映射。 林鸿这台apple_ii的显示存储区域小得可怜,只有1kb大小,对应这显示器上24行40列的显示区域。 往显存里面放进去一个字母“a”,并且指定在哪一行哪一列,那么显示器上就会在对应的坐标上将字母a显示出来,这就是显示器显示字符的基本显示原理。 林鸿看了这部分没有再继续看下去,而是启动了苹果计算机,打算动手编个程序试试手。 编什么好呢? 他有点拿不定主意。 初学者一般都会这样,对自己所学到的内容往往有些茫然,不知道如何将这些知识应用到自己的程序中。心中想编写程序,却又不知道该编一个什么样的程序。 其实林鸿目前最大的目标是想自己编写一个游戏,不过这其中似乎难度不小,凭他目前的能力有点好高骛远了。 最终他决定从最简单的开始,先在显示器上画一个小球。 basic有现成的画图函数,使用画圆的函数很快就在显示