マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

MiniVM VRAM編

一部の人は知っていたようだが、minivmにはText VRAM以外にもVRAMが存在している。というか過去のエントリに書いてあったんだよね。私が忘れていた。それで、VRAM0x200000は始まっていて、4の倍数番地から32bit単位で書き込まないと描画に反映されない。現在Text VRAMとVRAMを同時に使うとバグがでると思うが、今は気にしない!とりあえず以下のアセンブリコードをnasmにかけてできたバイナリをドロップすると画面が少しずつ青で塗りつぶされていく。半分あたりで止まると思う。nasmを持ってない人のためにバイナリも用意した!
minivram.bin 直
http://d-kami.net/minivm/MiniVM0_1.html

[BITS 32]
    MOV ECX, 640 * 200
    MOV EAX, 0x200000
    
fill:
    MOV DWORD [EAX], 0x0000FF
    ADD EAX, 4
    DEC ECX
    JNE fill
    
loop:
    JMP loop