1. 19 May, 2021 1 commit
    • Deucе's avatar
      Use display aspect ratio, not pixel for tracking. · a5c619fc
      Deucе authored
      People are used to thinking about the aspect ratio of displays and
      used to not thinking at all about that of pixels.  Most of the modes
      are simplt 4:3 modes and the text area is the entire window.  The
      only oddball here is the Commodore 64 and 128 40-column modes.
      Because they have a border around them that's wider on the sides than
      the top/bottom, the display aspect ratio is actually narrower than
      a normal NTSC screen (6:5).  It seems the PAL version actually has
      square pixels, but nobody has asked for a PAL Commodore mode, and I
      think that has a different colour palette too so I'm not doing it.
      
      Just to frustrate DigitalMan a bit, the default custom aspect ratio
      is now 4:3 (but can be configured).  At present, modifying the custom
      mode while *in* the custom modes "works", which no sane person would
      want when adjusting the aspect ratio.
      a5c619fc
  2. 14 May, 2021 2 commits
    • Deucе's avatar
      Now that we have scaling sorted out, the X11 driver doesn't need it · d5808927
      Deucе authored
      Also, we don't need to use pointers for the scaling.
      d5808927
    • Deucе's avatar
      Many X11 scaling improvements... · 767cbb9a
      Deucе authored
      1) Initialize the r2y array for xBR so it actually works.
      2) Add a vertical (only) interpolation scaler for aspect ratio enforcement
      3) Add a simple muliplier scaler, so that can be removed from x_event.c
      4) Use a new graphics buffer free list, which allows tracking last
         drawn screen instead of last bitmap rectangle, removing various hacks
      5) Share the Y'CbCr <-> R'dG'dB'd tables between xBR and scale.c
      767cbb9a
  3. 13 May, 2021 1 commit
    • Deucе's avatar
      Add smooth scaling to X11 output · cae45cbd
      Deucе authored
      Uses "pointyscale" for x3 and x5
      Uses xBR from FFmpeg for x2 and x4
      HQx is also included, but unused as it's too slow at x4.
      cae45cbd