# mini-riscv-os vga
https://gist.github.com/iamgreaser/15a0a81cd117d4efd1c47ce598c13c91
https://github.com/cccriscv/mini-riscv-os/tree/master/03-MultiTasking
找到一個riscv 的vga 驅動
記得bios 改為 no bios
```bash=
~/qemu-vga$ riscv32-unknown-elf-gcc -Os -mcmodel=medany -nostdlib -Wl,-T,qemu.ld -o vga-hello.elf boot.S main.c
~/qemu-vga$ qemu-system-riscv32 -bios none -machine virt -device VGA -smp 1 -kernel vga-hello.elf
```

我們來移到 https://github.com/cccriscv/mini-riscv-os
在
mini-riscv-os 00 hello-os確實可以進行繪圖


嘗試移植到03切換多任務的部分,改一下stack


到這裡就可以做切換任務,有多工,參考30 day os我們就可以對視窗畫圖,接收中斷,畫面會閃爍可能就是要統一對圖層新增優先權看誰可以覆蓋誰,或者雙重緩衝(?。
https://wiki.osdev.org/Drawing_In_Protected_Mode
https://github.com/cccriscv/mini-riscv-os/tree/master/03-MultiTasking
以兩個任務分別畫正方形與直線
https://github.com/x213212/mini-riscv-os-vga
