首页 > 代码库 > 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: 添加功能