首页 > 代码库 > x01.wos.5: 添加功能
x01.wos.5: 添加功能
准备工作
1.确保是 win xp,如是 win 8,运行 nasm 需按提示同意安装组件。
2.确保 src 和 z_tools 在同一目录下,nasm 已包含在 z_tools 文件夹中。
3.bmp.nasm 需用 nasm.exe 编译,格式为 -f win32,参看 app/makefile。
4.app/haribote.rule 文件作了少许修改。
使用方法
1.进入 src 文件夹,双击 cmd.bat,在命令行窗口分别输入如下命令即可:
cd apilib
make
cd ../app
make
cd ../
make
2.操作系统启动后,shift + F2 可打开新终端,输入 exit 可关闭终端。
3.终端中分别输入 winhi 回车,type boot.s 回车可获取初步体验。效果图如下:
4.终端中输入 tview boot.s 可浏览文件,gview 1.bmp 可查看图片,按 q 或 Q 关闭。效果图如下:
5.终端中输入 ball 是个小游戏,空格键发射子弹,4、6 两个数字键左右移动,打 X 关闭。效果图如下:
一点改进
1.添加 api028.s 文件,内容如下:
[format "WCOFF"]
[instrset "i486p"]
[bits 32]
[file "api028.nas"]
global _api_setlang
[section .text]
_api_setlang: ; void api_setlang(int mode);
mov edx,28
mov eax, [esp + 4]
int 0x40
ret
2.apilib/makefile 当然要作相应修改,改动的地方只有一处,就是在 ApiObjs 中添加 api028.obj。
3.修改app/api.h,也只添加一处,即 api_setlang 的声明: void api_setlang(int mode);
4.修改app/calc.c,在HariMain() 的开头添加如下代码:
int oldmode = api_getlang();
api_setlang(0);
在倒数第二行添加如下代码:
api_setlang(oldmode);
5.重新编译,OK! calc 现在可以不受日文字符的干扰了。
以上也是添加自己功能的一般步骤。
下载链接:os 源代码
又:代码也可到 x01.Lab.Download 中获取,上面是 CSDN 中的链接。由于博客园有时不能显示图片,所以在 CSDN 中也弄了一份。
x01.wos.5: 添加功能