Regression: mame2003 renders vectors worse than mame0.78 [$80]

bounty

#1

The intention of the bounty is to improving mame2003’s vector rendering quality to parity with mame0.78.

Bounty page

Visual Difference

This image demonstrates the differing ways that mame0.78 and mame2003 render tempest.zip when running fullscreen on the same system with all settings at their defaults. Note that the listed resolutions are for the final rendered version and as far as I know are not necessarily reflective of the resolution being used internally by MAME, especially for MAME 0.78. .

Antialiasing and rendering vectors at high resolution are essential to faithful vector emulation and it seems likely that the issue is related to the MAME settings options.antialias, options.vector_width, and options.vector_height.

  1. The vector width and height code had to be modified in arbitrary (and possibly incorrect) ways to keep it from crashing mame2003 and retroarch. The result of that discovery allowed me to create a core option exposing vector resolution, but when activated vectors do (sort of!) render at a high resolution, but there are major scaling/rendering issues.
  2. The antialias setting crashes mame and retroarch when enabled. It is exposed as a core option but it is set to only allow the disabled state.

Further reading: This issue springs from an earlier discussion where we have learned at least a few things about what is going on


#2

(Bounty up to $50)


#3

(Bounty up to $60)


#4

(Bounty up to $70)


#5

Bounty up to $80. Thanks @Wilstrom!