《30天自制操作系统》学习笔记——第十四天

       来开始第14 天的内容吧。

                                              《30天自制操作系统》学习笔记——第十四天_第1张图片

       今天一上来就要提高分辨率了,真是激动人心呀,提高之前:

                     《30天自制操作系统》学习笔记——第十四天_第2张图片

         提高之后:

                          《30天自制操作系统》学习笔记——第十四天_第3张图片

       是不是一下子就感觉高端大气上档次了?

       我们把分辨率从320*200改成了640*480。显示模式的内容在第四天的笔记里就有,可以回头再看看复习一下。这里再补充一点关于显示的知识:

       首先,要提到VESA协会,即Video Electronics Standards Association,视频电子标准协会。这个协会制定了索然不能说完全兼容但几乎可以通用的设定方法,制作了专用的BIOS。这个追加的BIOS被称为"VESA BIOS extension"简称VBE

       不使用VBE的画面模式时,用“AH=0;AL=画面模式号码”的方法,也就是我们之前用的方法。

       想要使用VBE的画面模式时,用“AX=0X4f02;BX=画面模式号”的方法。这个0x4f02要记住,没的说。

        画面模式的号码如下:

                                                          《30天自制操作系统》学习笔记——第十四天_第4张图片

       修改好之后,再进行一些模式信息的确认就OK了。

       接下来,作者给窗口实现了可以键盘输入字符的功能。很简单,按照扫描码的顺序,列一个字符数组,就可以实现了。

       最后,作者实现了用鼠标移动窗口,这让我很兴奋。虽然是非常简单的功能,但是给人感觉这个操作系统真的越来越像样了。好的,让我们来仔细看看,是什么实现了鼠标移动窗口。以下是关键代码:

					if ((mdec.btn & 0x01) != 0) {
						/* 左ボタンを押していたら、sht_winを動かす */
						sheet_slide(sht_win, mx - 80, my - 8);
					}

       哎,真的好简单,这句话其实实现的是,鼠标点到哪,窗口就蹦到哪里。和现实生活中,点到任务栏拖动还是有点距离呀。没关系,期待接下来系统的不断改进吧!


你可能感兴趣的:(《30天自制操作系统》学习笔记——第十四天)