2

I was using displays with serial communication (SPI), but sending bytes to draw a tile-based picture was way too slow so I'd like find one with a parallel port, enough fast bandwidth to receive fast pictures at a speed at least 10FPS (but I'd like 50FPS or 60FPS) from Arduino Mega (ATMEGA2560) and which has a library compatible with the Arduino's C++ compiler.

I think I've seen somewhere how to connect a display onto the XMEM pins of the Mega and send bytes like this:

*(0x12)=0x34 // Sends 0x1234

However, I couldn't find where to buy that specific one.

I was searching on eBay, but only found displays of unsupported drivers or drivers with broken links that I couldn't download, and displays that are ridiculously large like a shovel!

The resolution it needs to have is minimum 128x64, aspect ratio must be X:Y where X is greater than Y (unless it's possible to send bytes sideways while the screen is physically placed in a different orientation on the PCB).

It must be a touch display sensitive on anything (like Nintendo DSi when drawing Flipnotes).

It should be either:

  • Monochrome
  • Color display with MS Paint colors if it has equal to or less than 256 colors
  • Color display with 16-bit color input mode if it has a lot of colors

It should be no bigger than 2.5" because this is for a little handheld console.

If anyone knows where to buy it, please comment.
Thank you for your time.

1

I'd suggest, if you haven't done it already, to take a look at what is supported by uGFX.

If you find any HW meeting your needs, you can at least be sure that it is supported.

1

I was using displays with serial communication (SPI) ...

Personally I regards serial and SPI as different things:

SPI is somewhat faster than serial.


... sending bytes to draw a tile-based picture was way too slow ...

How slow was it? What was your target speed?


The resolution it needs to have is minimum 128x64 ... It should be no bigger than 2.5"

Something like 2.2" 18-bit color TFT LCD display ?


fast bandwidth to receive fast pictures at a speed at least 10FPS ...

See Toorum's Quest II - Retro video game and console

That guy made a sideways scrolling game outputting to video with a display resolution of 104x80 with 256 colors. He also had sound generation and managed input from a NES controller.

See video of it in operation on YouTube.

  • When I send bytes by a for loop to paint an 8x8 tile from top to bottom, the picture appears in a quarter of a second which isn't near 10FPS. Plus, the console would need to have enough speed to not just blit the image, but have some of its own processing like feeding VLSI chip with MP3 music, RTOS processes, game engine,... I've seen many people do the NTSC blitting, but I'm more interested in LCDs where I'm not timely challenged and can respond to interrupts in the middle of blitting the image. – Foxcat385 Oct 9 '15 at 17:01
  • Also, that TFT LCD display you linked uses SPI and I need one with parallel communication like those character displays. – Foxcat385 Oct 9 '15 at 17:01
  • When I send bytes by a for loop to paint an 8x8 tile from top to bottom, the picture appears in a quarter of a second - with what device? And what code? Something is wrong if it takes 250 ms to draw 64 pixels. – Nick Gammon Oct 9 '15 at 20:11
  • Not 64 pixels. WHOLE screen! I don't have the code right now and I think I've deleted it. The code writes from top to bottom like if it was blitting a tile-based screen layout, but just that one tile. And that's how much it takes. Also, I've even used manual port register manipulation rather than using the PutPixel function in order to speed up, but it looks like it's still too slow. – Foxcat385 Oct 10 '15 at 0:07
  • Wow, I'm surprised at that game and how much effort was put (they could have done without a custom board and still call it a great use of an Arduino). It ended up so professional, really shows love for the craft. – Camilo Martin Jan 23 '16 at 17:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.