希望有移植过的高人来指点一下。
用正点原子F4的nes例程做移植到F1的时候,bg_enabled()和spr_enabled()一直为0导致刷新屏幕的都是背景色,进不去这个if:
uint32 spr_enabled(void) { return ppu->LowRegs[1] & 0x10; }
uint32 bg_enabled(void) { return ppu->LowRegs[1] & 0x08; }
if(spr_enabled() || bg_enabled())
{
LOOPY_SCANLINE_START(ppu->loopy_v, ppu->loopy_t);
if(bg_enabled())
{
// draw background画背景
render_bg(buf);
}
else
{
// clear out solid buffer清除固体缓冲区
memset(ppu->solid_buf, 0x00, sizeof(ppu->solid_buf));
}
if(spr_enabled())
{
// draw sprites绘制精灵
render_spr(buf);
}
LOOPY_NEXT_LINE(ppu->loopy_v);
}
那么在原子nes的例程中,spr_enabled() 和bg_enabled()什么时候会被更改呢?
求解!!!!!!!
|