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

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

(Bounty up to $50)

(Bounty up to $60)

(Bounty up to $70)

Bounty up to $80. Thanks @Wilstrom!

Bounty up to $250.

Thanks @ewancube!!

Excited to chip in! Love vector games and the aliasing was really bugging me. Good luck! :+1:t2::wink:

@nayslayer has submitted a patch to resolve the issue and fulfill this bounty. New mame2003 builds are starting to roll out the buildbot as I write this post. Within 24 hours there should be new buildbot versions for all platforms and folks can try out the new vector rendering themselves!

1 Like