main: start vdp1 drawing immediately after updating the command list
This appears to reduce position artifacts between vdp1/vdp2 drawings.
This commit is contained in:
parent
a443d09b3d
commit
e57d93400e
8
main.cpp
8
main.cpp
@ -463,8 +463,12 @@ void render()
|
|||||||
|
|
||||||
render_sprites(offset);
|
render_sprites(offset);
|
||||||
|
|
||||||
|
vdp1.reg.PTMR = PTMR__PTM__NOW;
|
||||||
|
|
||||||
vdp2.reg.SCXIN0 = offset.x;
|
vdp2.reg.SCXIN0 = offset.x;
|
||||||
|
vdp2.reg.SCXDN0 = 0;
|
||||||
vdp2.reg.SCYIN0 = offset.y;
|
vdp2.reg.SCYIN0 = offset.y;
|
||||||
|
vdp2.reg.SCYDN0 = 0;
|
||||||
|
|
||||||
render_map();
|
render_map();
|
||||||
}
|
}
|
||||||
@ -480,8 +484,8 @@ void v_blank_in_int()
|
|||||||
sh2.reg.FRC.L = 0;
|
sh2.reg.FRC.L = 0;
|
||||||
sh2.reg.FTCSR = 0; // clear flags
|
sh2.reg.FTCSR = 0; // clear flags
|
||||||
|
|
||||||
update();
|
|
||||||
render();
|
render();
|
||||||
|
update();
|
||||||
|
|
||||||
// wait at least 300us, as specified in the SMPC manual.
|
// wait at least 300us, as specified in the SMPC manual.
|
||||||
// It appears reading FRC.H is mandatory and *must* occur before FRC.L on real
|
// It appears reading FRC.H is mandatory and *must* occur before FRC.L on real
|
||||||
@ -549,7 +553,7 @@ void init_vdp1()
|
|||||||
vdp1.vram.cmd[2].CTRL = CTRL__END;
|
vdp1.vram.cmd[2].CTRL = CTRL__END;
|
||||||
|
|
||||||
// start drawing (execute the command list) on every frame
|
// start drawing (execute the command list) on every frame
|
||||||
vdp1.reg.PTMR = PTMR__PTM__FRAME_CHANGE;
|
//vdp1.reg.PTMR = PTMR__PTM__FRAME_CHANGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void init_vdp2()
|
void init_vdp2()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user