• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

PiBoy DMG 18bit color banding

Scheduled Pinned Locked Moved Help and Support
dpi displayhandheldraspberrypi4
4 Posts 3 Posters 838 Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F
    Firebird_WS6
    last edited by Firebird_WS6 10 Jun 2020, 18:46 6 Oct 2020, 17:45

    Pi Model or other hardware: Pi4 4Gb
    RetroPie Version Used: 4.6
    Built From: Experimental Pi, PiBoy DMG image

    The PiBoy DMG case uses a DPI screen in 18BIT_666_CFG2 RGB666 (6 bits per colour) mode: dpi_output_format = 0x70016. This causes significant color banding in some games due to lack of color depth, notably N64 Banjo Kazooi Intro. I found an article that described the exact same issue and suggested adding the following to /boot/config.txt:

    # panel is 18-bits so dither from 24-bits
    hvs_set_dither=0x211
    

    However it did not appear to do anything and I don't understand why? I do wonder if its because the command is not formatted correctly for the DPI display, or even if it is not valid anymore with the current version of Retropie?

    Any suggestions for how to implement the dithering?

    1 Reply Last reply Reply Quote 0
    • F
      Firebird_WS6
      last edited by 9 Oct 2020, 18:31

      So I found out why hvs_set_dither=0x211 wasn't doing anything to help with N64 color banding because of the 18 bit DPI display on the PiBoy DMG. The problem was the last digit, which determines the display channel. It needed to be 0 for a DPI display. After making the change I found the dithering worked pretty well. Here's how the command is formatted:

      hvs_set_dither=0x00000xyz
      
      where x=dither type, y=depth, z=channel.
      
      Dither Type
      This field sets the type of dithering to be applied. All colour components with less than 8 bits of precision will also have horizontal error accumulation applied.
      0 = No dithering
      1 = Accumulate rounding error horizontally.
      2 = As 1, but also apply pseudo-random noise. The noise generator is reset at the start of each frame.
      3 = As 2, but the noise generator is free-running. This setting will produce a shimmering effect on static images that may be distracting.
      
      Destination Display Bit Depth
      Sets the number of bits being used by the destination display. This determines where the LSBs are in the 24-bit RGB values coming from the display FIFO.
      0 = 24-bit RGB888. No error accumulation is required.
      1 = 18-bit RGB666.
      2 = 16-bit RGB565.
      3 = 15-bit RGB555.
      
      The leading 0 are not required, so for the PiBoy, an example command is as follows, add to /boot/config.txt:
      
      # panel is 18-bits so dither from 24-bits
      hvs_set_dither=0x210
      
      1 Reply Last reply Reply Quote 1
      • R
        Rion
        last edited by 10 Oct 2020, 15:08

        Great find @Firebird_WS6 !

        Not that i own one myself but good to know for those that do.

        Have you sent this information to Experimental Pi?

        FBNeo rom filtering
        Mame2003 Arcade Bezels
        Fba Arcade Bezels
        Fba NeoGeo Bezels

        A 1 Reply Last reply 10 Oct 2020, 21:04 Reply Quote 0
        • A
          acidtech @Rion
          last edited by 10 Oct 2020, 21:04

          @Rion Already saw it. Thanks. We try to keep up on Piboy DMG going's on's. :)

          We'll add this as an option in our config.txt.

          @Firebird_WS6 thanks for digging into this. I figured there was something but I doubt I would have found it.

          1 Reply Last reply Reply Quote 2
          4 out of 4
          • First post
            4/4
            Last post

          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

            This community forum collects and processes your personal information.
            consent.not_received