[PATCH v2 0/8] vga: improve emulation fidelity

Paolo Bonzini posted 8 patches 10 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240104215813.156153-1-pbonzini@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>
hw/display/cirrus_vga.c  |  28 +--
hw/display/vga-helpers.h | 121 +++++++++---
hw/display/vga.c         | 418 +++++++++++++++++++++------------------
hw/display/vga_int.h     |  18 +-
hw/display/vga_regs.h    |   4 +
5 files changed, 347 insertions(+), 242 deletions(-)
[PATCH v2 0/8] vga: improve emulation fidelity
Posted by Paolo Bonzini 10 months, 3 weeks ago
This implements horizontal pel panning, which is used by games such as
the Commander Keen series, and also reimplements word and odd/even modes
so that they work in graphics modes; this mostly fixes Jazz Jackrabbit's
graphics.

There are still some issues with Cirrus VGA, and also Keen expects the
display parameters to be latched in ways that I don't fully understand
and that seem to differ between Keen 1 (EGA) and 4 (VGA).  So there is
still a bit of tearing, but I have been sitting on these patches since
the Christmas holidays of 2014, so let's flush this first part.

Paolo

v1->v2: redone patch 1 [inspired by Zoltan]
        cosmetic changes to patches 3 and 8

Paolo Bonzini (8):
  vga: remove unused macros
  vga: introduce VGADisplayParams
  vga: mask addresses in non-VESA modes to 256k
  vga: implement horizontal pel panning in graphics modes
  vga: optimize horizontal pel panning in 256-color modes
  vga: reindent memory access code
  vga: use latches in odd/even mode too
  vga: sort-of implement word and double-word access modes

 hw/display/cirrus_vga.c  |  28 +--
 hw/display/vga-helpers.h | 121 +++++++++---
 hw/display/vga.c         | 418 +++++++++++++++++++++------------------
 hw/display/vga_int.h     |  18 +-
 hw/display/vga_regs.h    |   4 +
 5 files changed, 347 insertions(+), 242 deletions(-)

-- 
2.43.0