DPI (Parallel Display Interface) from GPIO
Posted: Wed Jun 22, 2016 11:26 am
Hello sudoers,
having picked this project for my first attempt at building something with the Pi, I am currently debating the options for the display.
While the composite connection featured in wermy's guide (thanks for that one!) seems to be easily accomplished, I felt that it introduced a lot of overhead for convenience.
While reading to make up my mind about the features I want for my build, I stumbled upon kite's GB0 with DPI and thought that it's perfect for my case.
I would have posted there to get answers, but that would get close to hijacking kite's thread and I think this topic deserves its own thread (there hasn't been one yet, has there?).
I only want to emulate Nintendo systems up to GBA/SNES. None of the systems have more than 15 bit of color depth. Also, I don't care about HDMI out. If I ever want to have an Emulator hooked up to a bigger Screen, I'll probably just build a stationary one with a beefier System than the Zero.
These facts are making the natively supported RGB565 mode of the Pi viable. According to the DPI readme this will cost me about 20 GPIOs, leaving half of them for other tasks (Input, Sound?)
Another priority is battery life. I imagine leaving out the driver board, thus cutting consumption and making more room, may help maximizing that.
Lastly, I feel that the image quality of the 'composite' displays is lacking. Some of you are experimenting with 640x420 displays to alleviate that, but these are expensive and there's next to no info about what the use of a higher res screen means for power consumption.
I'm not sure how exactly this works (this is one of the reasons I'm posting this), but the resolutions of the relevant systems are:
GB/GBP/GBC - 160x144
GBA - 240x160
NES - 256x240
SNES - 256x224
So a 320x240 Screen should in theory be perfectly fine.
To wrap things up, these are my main concerns at the moment:
- Am I right in the assumption that this will take 20 GPIOs, given the right LCD?
- Does anyone have experience with this approach (not necessarily with the GB0) and could share it? Maybe know a source of appropriate screens? I'd hate to get one with driver board just to throw it out.
- What to do with the excess pins on a screen that wants 24 bit, in case I can't find one that expects 16? I'm guessing I'll just common them together like this to get 5 effective pins (01)(2)(34)(5)(67) (or 6 in case of the green channel).
- Can I expect near pixel-perfect image quality since I'm effectively setting the Pi's output resolution to the native screen resolution?
Sorry if this reads like incoherent rambling, but as mentioned this is my first project and I'm kind of a noob.
Thanks for all replies
having picked this project for my first attempt at building something with the Pi, I am currently debating the options for the display.
While the composite connection featured in wermy's guide (thanks for that one!) seems to be easily accomplished, I felt that it introduced a lot of overhead for convenience.
While reading to make up my mind about the features I want for my build, I stumbled upon kite's GB0 with DPI and thought that it's perfect for my case.
I would have posted there to get answers, but that would get close to hijacking kite's thread and I think this topic deserves its own thread (there hasn't been one yet, has there?).
I only want to emulate Nintendo systems up to GBA/SNES. None of the systems have more than 15 bit of color depth. Also, I don't care about HDMI out. If I ever want to have an Emulator hooked up to a bigger Screen, I'll probably just build a stationary one with a beefier System than the Zero.
These facts are making the natively supported RGB565 mode of the Pi viable. According to the DPI readme this will cost me about 20 GPIOs, leaving half of them for other tasks (Input, Sound?)
Another priority is battery life. I imagine leaving out the driver board, thus cutting consumption and making more room, may help maximizing that.
Lastly, I feel that the image quality of the 'composite' displays is lacking. Some of you are experimenting with 640x420 displays to alleviate that, but these are expensive and there's next to no info about what the use of a higher res screen means for power consumption.
I'm not sure how exactly this works (this is one of the reasons I'm posting this), but the resolutions of the relevant systems are:
GB/GBP/GBC - 160x144
GBA - 240x160
NES - 256x240
SNES - 256x224
So a 320x240 Screen should in theory be perfectly fine.
To wrap things up, these are my main concerns at the moment:
- Am I right in the assumption that this will take 20 GPIOs, given the right LCD?
- Does anyone have experience with this approach (not necessarily with the GB0) and could share it? Maybe know a source of appropriate screens? I'd hate to get one with driver board just to throw it out.
- What to do with the excess pins on a screen that wants 24 bit, in case I can't find one that expects 16? I'm guessing I'll just common them together like this to get 5 effective pins (01)(2)(34)(5)(67) (or 6 in case of the green channel).
- Can I expect near pixel-perfect image quality since I'm effectively setting the Pi's output resolution to the native screen resolution?
Sorry if this reads like incoherent rambling, but as mentioned this is my first project and I'm kind of a noob.
Thanks for all replies