我知道在IBM CGA上可以通过使用CRTC将行高度改为两个像素来实现伪160x100的图形模式,但我尝试了几天并没有成功。
根据《Intel®开源HD Graphics和Intel Iris™ Graphics程序员参考手册》第45页(或PDF中的第59页)的说法,我可以通过写入最大扫描线寄存器来实现。我理解是这样的。
我已经尝试直接向内存地址3B5写入值为00000001b的代码,也就是2个扫描线的代码。但是在DOSBox中测试时完全没有任何反应。
如果您想看到我编写的可以在NASM中汇编的代码,请看下面。
我对这种低级的东西还不是很自信,任何帮助都将不胜感激。
根据《Intel®开源HD Graphics和Intel Iris™ Graphics程序员参考手册》第45页(或PDF中的第59页)的说法,我可以通过写入最大扫描线寄存器来实现。我理解是这样的。
我已经尝试直接向内存地址3B5写入值为00000001b的代码,也就是2个扫描线的代码。但是在DOSBox中测试时完全没有任何反应。
如果您想看到我编写的可以在NASM中汇编的代码,请看下面。
BITS 16
xor bx,bx
mov ax, 3b5h
mov es, ax
mov ah, 00000001b
mov BYTE [es:bx], ah ; write 00000001b to 0x03b5:0000, right?
cli
hlt
我对这种低级的东西还不是很自信,任何帮助都将不胜感激。