阅读建议:本文针对已经做过《30天自制操作系统》第一到四天相关内容的读者,笔者写本文时查阅相关资料较少,可能会有错误,仅供参考,欢迎指正。
1.关于 bootpack.c 中的主函数名
可能作者将HariMain这个主函数名嵌入到编译器中,总之不能改
2.第四天的调色板说明
根据笔者所做的若干实验猜测,应该是8位彩色模式是一个假彩色模式,每个数字代表一个颜色。颜色可以是系统默认的,也可以设定。
函数set_palette() 中设置调色板颜色时,“io_out8(0x03c9,rgb[0]/4);”这句中之所以除以4是因为8位彩色模式下指定R、G、B三种颜色的值时只能用6位来指定,所以init_palette(void) 中的table_rgb中的值用来指定RGB颜色的值时,只使用了高六位。笔者做的实验中,如果去掉除以4不写的话,从亮灰色往后的颜色就变成了黑色,具体原因不详。