diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2014-12-29 14:48:14 +0100 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-01-18 10:43:13 +0100 |
| commit | 973a724eb006f674301a0c45f34b3c08dee0fe49 (patch) | |
| tree | 62c9aabc2a8c2f447232327f13167335dbcf8145 /docs/devel/secure-coding-practices.rst | |
| parent | 9b53b95a1c3b46e5a54734a46f37790460c9265e (diff) | |
| download | focaccia-qemu-973a724eb006f674301a0c45f34b3c08dee0fe49.tar.gz focaccia-qemu-973a724eb006f674301a0c45f34b3c08dee0fe49.zip | |
vga: implement horizontal pel panning in graphics modes
This implements smooth scrolling, as used for example by Commander Keen and Second Reality. Unfortunately, this is not enough to avoid tearing in Commander Keen, because sometimes the wrong start address is used for a frame. On real EGA, the panning register is sampled on every line, while the display start is latched for the next frame at the start of the vertical retrace. On real VGA, the panning register is also latched, but at the end of the vertical retrace. It looks like Keen exploits this by only waiting for horizontal retrace when setting the display start, but implementing it breaks the 256-color Keen games... Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'docs/devel/secure-coding-practices.rst')
0 files changed, 0 insertions, 0 deletions