What's new

Guide Using Retro GEM Shiny as an LCD Driver

YveltalGriffin

First Wii U Trimmer
.
Joined
Jun 7, 2016
Messages
395
Likes
1,746
Location
South Florida
Portables
5
In my pursuit of the crispiest video possible, I did some experiments with the PixelFX Retro GEM Shiny Edition. The GEM is a 'universal' HDMI mod that works with N64, PS1, PS2, and Dreamcast, with support for more consoles on the way.

What's so interesting about the GEM is that the Shiny Edition incorporates a super robust video scaler, and the user can specify custom modelines, i.e. exact video output timings. Furthermore, the FPGA doing the scaling outputs 24-bit RGB to the GEM's onboard Sil9022A HDMI transmitter. So, by hijacking that RGB24 pixel bus, you can directly drive an RGB LCD like the ones we use in portables.

TL;DR— Shiny Edition GEM can act as a multi-console LCD direct drive. Here's how:

Preparation
  • Your GEM should be installed and working in your console of choice before beginning. Use firmware 2.6.1.25 from the stable channel!
  • Make sure you can access both the on-console OSD and the Web UI.
  • Then, install my custom LCDmodelines.ini via the GEM's Web UI. This text file contains the LCD timings that I've determined work well with the 3.5" 640x480 LCD and 4.3"/5" 800x480 LCDs.
  • Choose the preset that matches your LCD (LCD640 or LCD800). Quickly click confirm again (R on N64, not sure what it is for other consoles) to save the setting. HDMI output will probably stop working at this point (even my RT4K struggles to lock onto the LCD modeline.)
  • Now you can wire up the LCD!
Wiring

The HDMI transmitter is outlined in red. You can keep it, or remove it. If you keep it, it will draw extra power despite being unused. However, removing it can make it harder to debug issues since you can't connect to an external monitor anymore. Up to you.

IMG_20240708_182518.jpg
GEM.png


The above diagram shows the locations of the 24-bit RGB signals, CLK, DE, and HSYNC/VSYNC. 3.3V, 5V, and GND are also called out on the board pic.

I suggest using an Adafruit TFT Friend for wiring up your LCD. It has a gross slide ZIF, but it's easy to use and nicely labeled. Note that 800x480 LCDs need the ON/OFF pin tied to 3.3V!!!

1721098757543.png


Some pics of how the GEM and TFT Friend might look after wiring:
IMG_20240711_222733.jpg
IMG_20240715_221234.jpg


LCD Selection

Not all LCDs are created equal. Some of them won't be able to handle the modelines I've created. I can't guarantee 100% compatibility, but I can provide a short list of panels that I know work.

The GEM's deinterlacers are not instantaneous. Dan from PixelFX helped me realize that for non-bob (i.e. weave, blend, and motion adaptive) deinterlacing to work properly, the modeline needs to have very generous horizontal porches to give the deinterlacer time to do its thing. As such, the pixel clock of these LCD modelines is pretty high. Your wiring needs to be tight and not all LCDs will support the higher clock / wider porches. You can always decrease the H porches but only bob deinterlacing will work (others will spill off the screen and cause artifacts)

  • 3.5" 640x480: Topovision TVT0350K3-I and TVT0350K4-I
    • these 3.5" panels don't require SPI initialization. If you want to use a cheapo generic 3.5" panel or a laminated one, you need to initialize it over SPI
  • 4.3" 800x480: "043J101" or other panel with ST7262 driver. BuyDisplay one probably works
  • 5" 800x480: BuyDisplay IPS panel with ST7265 driver works
Note that 800x480 LCDs need their ENABLE ("ON/OFF") pin tied to 3.3V!!! The 3.5" panel doesn't need that, but it does require an adapter.

IMG_20240715_221620~2.jpg


Usage and Results

When configured this way, the GEM produces an impeccably crisp, pixel perfect image! Enabling full-strength scanlines in the Retro FX menu cleans up the image a lot.

5" 800x480 LCD:
IMG_20240715_214944.jpg
IMG_20240715_214959.jpg


4.3" 800x480 LCD:
IMG_20240715_215337.jpg
IMG_20240715_215538_edit_178252554278147.jpg


You can change the scaler aspect ratio to 5:3 to stretch the image and fill the entire 800x480 LCD. Turn horizontal interpolation to softest when doing this to avoid artifacts. In 4:3 mode, keep horizontal and vertical interpolation off for the sharpest picture.

IMG_20240715_220019.jpg


3.5" 640x480 LCD:

IMG_20240715_220829.jpg
IMG_20240715_220910.jpg


By tuning the horizontal porches on the modelines, I was able to get the fancy deinterlacers working. So 480i content on PS2, PS1, and N64 should look decent if you select a deinterlacer other than bob. The bob deinterlacer on firmware 2.6.x works with just about any horizontal porches, so it's an OK fallback. But it exhibits the characteristic 30Hz flicker of all bobbing and looks pretty bad.

Weave looks amazing for static 480i content like UIs and menus (seen below). PS2 probably needs motion adaptive to look decent.

IMG_20240715_220755.jpg


Power Consumption

@thedrew measured GEM power consumption at ~900mW while it was active. This includes the HDMI transmitter so it's probably a bit less without that. Basically, this is very competitive and matches or beats most driver boards, as well as Wii direct drive!

Conclusion

This is a pretty slapdash guide because Shiny GEMs are expensive, and I don't anticipate many people trying this. But it's still a wicked proof of concept and solves a ton of video issues the community has battled for years (clean 480p output for PS1 and PS2, direct drive for N64, etc). Hopefully some more people give it a shot!

I only tested with an N64, but theoretically once the modelines are installed, the GEM should work with any compatible console and output the exact same resolution. A truly universal direct drive solution!

Special thanks to @thedrew for helping test stuff, and being awesome and a fellow crispy video purist.

Also, huge thanks to PixelFX for creating such badass hardware and software to enable this next generation of modding!
 

Attachments

Last edited:
Joined
Sep 27, 2016
Messages
457
Likes
1,032
You the man for discovering this! Glad to have been able to test this, it is truly the best video quality available. I tested the Hispeedido HDMI, GBS Control via RGBS, and direct RGBS from the N64 itself and this RetroGem was the best. I'll post pics of other consoles using this direct drive solution sometime soon.
 

YveltalGriffin

First Wii U Trimmer
.
Joined
Jun 7, 2016
Messages
395
Likes
1,746
Location
South Florida
Portables
5
I have confirmed that both of the custom modelines work perfectly on PS1.

IMG_20240907_232420.jpg


The 3.5" LCD is difficult to photograph. Hopefully the sharpness comes across in this 4K recording. The motion clarity and crispness are truly unbelievable.


Close-up of scanlines on the 3.5" LCD:

IMG_20240907_232714_1.jpg


800x480 LCDs also look great with the image stretched to 5:3.
IMG_20240908_000338.jpg
IMG_20240908_000343.jpg

IMG_20240907_234029.jpg
IMG_20240907_234042.jpg


Some scanline close-ups on the 5" 800x480 LCD:

IMG_20240907_234142.jpg

IMG_20240907_235508.jpg


Ideal scaler settings for stretched image on the 800x480 LCD. As with N64, stick to the old 2.6.1.25 firmware.
IMG_20240907_234231.jpg


The image with scanlines disabled is blisteringly sharp and super bright.
IMG_20240908_000223.jpg

IMG_20240908_000533.jpg


Once again, the modelines from the previous post work as-is with N64 and PS1. Based on the results of this testing, I'm confident they will work with all other GEM-supported consoles as well.
 
Top