diff --git a/abstract-machine/am/src/platform/nemu/ioe/gpu.c b/abstract-machine/am/src/platform/nemu/ioe/gpu.c index 49a7f24..3328e10 100644 --- a/abstract-machine/am/src/platform/nemu/ioe/gpu.c +++ b/abstract-machine/am/src/platform/nemu/ioe/gpu.c @@ -12,7 +12,7 @@ void __am_gpu_init() { // int w = inw(VGACTL_ADDR + 2); // TODO: get the correct width // int h = inw(VGACTL_ADDR); // TODO: get the correct height uint32_t *fb = (uint32_t *)(uintptr_t)FB_ADDR; - for (i = 0; i < w * h; i ++) fb[i] = i; + for (i = 0; i < w * h; i ++) fb[i] = 0x00000000; outl(SYNC_ADDR, 1); } @@ -30,13 +30,13 @@ void __am_gpu_config(AM_GPU_CONFIG_T *cfg) { } void __am_gpu_fbdraw(AM_GPU_FBDRAW_T *ctl) { - GET_W(w); - for (int i = 0; i < ctl->h; i++) { - for (int j = 0; j < ctl->w; j++) { - outl(FB_ADDR + (ctl->y + j) * w + (ctl->x + i), (uint32_t)ctl->pixels + w * j + i); - } - } - if (ctl->sync && inl(SYNC_ADDR) == 0) { + // GET_W(w); + // for (int i = 0; i < ctl->h; i++) { + // for (int j = 0; j < ctl->w; j++) { + // outl((FB_ADDR + (ctl->y + j) * w + (ctl->x + i)), ((uint32_t)ctl->pixels + w * j + i)); + // } + // } + if (ctl->sync) { outl(SYNC_ADDR, 1); } }