-
day14高分辨率以及键盘输入
day14高分辨率以及键盘输入提高系统的分辨率; 画面 MOV BX,0x4101 MOV AX,0x4f02 INT 0x10 ; 使用这两个数字就可以进行调整 MOV BYTE [VMODE],8 ; 保存画面的信息 MOV WORD [SCRNX],640 MOV WORD [SCRNY],480 MOV DWORD [VRAM],0xe0000000 在最初的时候, 所有的公司使用的是IBM公司的标准, 但是之后有的公司制作的显卡的性能超过了I...…
-
day13定时器
day13定时器优化字符显示的函数// 要改变的图层, 初始位置, 字符的颜色, 背景的颜色, 字符串, 长度void putfonts8_asc_sht(struct SHEET *sht, int x, int y, int c, int b, char *s, int l){ boxfill8(sht->buf, sht->bxsize, b, x, y, x + l * 8 - 1, y + 15); putfonts8_asc(sht->buf, sht->...…
-
day13定时器
day13定时器优化字符显示的函数// 要改变的图层, 初始位置, 字符的颜色, 背景的颜色, 字符串, 长度void putfonts8_asc_sht(struct SHEET *sht, int x, int y, int c, int b, char *s, int l){ boxfill8(sht->buf, sht->bxsize, b, x, y, x + l * 8 - 1, y + 15); putfonts8_asc(sht->buf, sht->...…
-
day12定时器
2023-8-23-day12定时器使用定时器计算机获得准确时间的方式, 使用电脑的定时器, 需要对PIT(Prongrammable Interval Timer)进行设置, 连接IRQ的0号实际的操作 设置AL=0x43, OUT 0x43, AL 设置AL=中断周期的低八位, OUT 0x40, AL 设置AL=中断周期的高八位, OUT 0x40, AL//初始化定时器, 依次对寄存器写入对应的数据#define PIT_CTRL 0x0043#define PIT_CNT0...…
-
day12定时器
2023-8-23-day12定时器使用定时器计算机获得准确时间的方式, 使用电脑的定时器, 需要对PIT(Prongrammable Interval Timer)进行设置, 连接IRQ的0号实际的操作 设置AL=0x43, OUT 0x43, AL 设置AL=中断周期的低八位, OUT 0x40, AL 设置AL=中断周期的高八位, OUT 0x40, AL//初始化定时器, 依次对寄存器写入对应的数据#define PIT_CTRL 0x0043#define PIT_CNT0...…
-
day11制作窗口
day11制作窗口优化鼠标鼠标加入边界判定if (mx > binfo->scrnx - 1) { mx = binfo->scrnx - 1;}if (my > binfo->scrny - 1) { my = binfo->scrny - 1;}void sheet_refreshsub(struct SHTCTL *ctl, int vx0, int vy0, int vx1, int vy1){ int h, bx, by, vx, ...…
-
day11制作窗口
day11制作窗口优化鼠标鼠标加入边界判定if (mx > binfo->scrnx - 1) { mx = binfo->scrnx - 1;}if (my > binfo->scrny - 1) { my = binfo->scrny - 1;}void sheet_refreshsub(struct SHTCTL *ctl, int vx0, int vy0, int vx1, int vy1){ int h, bx, by, vx, ...…
-
day9内存管理
内存管理整理文件OBJS_BOOTPACK = bootpack.obj naskfunc.obj hankaku.obj graphic.obj dsctbl.obj \ int.obj fifo.obj keyboard.obj mouse.objTOOLPATH = ../z_tools/INCPATH = ../z_tools/haribote/MAKE = $(TOOLPATH)make.exe -rNASK = $(TOOLPATH)nask.exeCC1 ...…