Close

Display

A project log for Gamegirl: the retro console done right

The most portable way to play LÖVE, PICO-8, Scratch or your favorite emulated games. Powered by RetroArch!

davidDavid 03/25/2016 at 14:383 Comments

As some have noted, we use a very special way to update our screen. I thought I could into some of the details about that.

Most projects with small screens use an interface like composite or SPI (PiTFT for example) because that is much easier to setup and use very few GPIO pins. The problem of composite is that it is not very sharp and the problem of SPI is that you cannot output the GPU directly to it so you have to use software which introduces some lag.

In our project we use the HDMI/DPI mode which enables us to have a very fast output with no CPU usage.

DPI is awesome
The main reason is because it’s wonderfully stupid.

Thanks to the work of [Robert Ely], [Gert van Loo], [Dom Cobley] and the advice of [wpt-nathan], we were able to configure the interface in RGB565 which leaves us eight pins for SPI, the buttons, the backlight and PWM audio.

-David

Discussions

arnaud.durand wrote 04/15/2016 at 18:24 point

Your display is ILI9341 with SPI initialisation here?

  Are you sure? yes | no

arnaud.durand wrote 04/15/2016 at 18:37 point

Also, aren't MOSI, MISO, CLK and CS hardwired to GPIO 10, 9, 11 and 8? Are you doing software SPI emulation?

  Are you sure? yes | no

David wrote 04/15/2016 at 22:06 point

Not all screens require that but this one needs SPI initialisation through GPIOs 9, 10 and 11. CS can just be pulled to ground as we don't have another device on the SPI bus.

All of this is in Files > Gamegirl v0.1 Schematic.pdf. ;)

  Are you sure? yes | no