LCD options: AGS-101 Vs Stock LCD
#1
Looking forward to starting a CM3 build! It's currently on the way to the UK and should be here soon.

I've not yet seen the screen in person, and I'm a little worried about the refresh rate and colour reproduction. I'm hoping for a stable 60fps when playing SNES/MegaDrive/GBA and hopefully DS games, and good colour reproduction too (assuming the CM3 can output a stable 60fps, and depending on various colour palette limitations).

What's the difference in quality between the 40 Pin GBA SP AGS-101 Backlit Screen, and the LCD that comes with the CM3? For someone that notices frame rates and colour reproduction, is it worth buying the AGS-101? If it is worth it, are there any compatibility issues? For example, can I just plug a 40 pin AGS-101 screen into the board and expect it to work or is there config required? And if it is compatible, can the brightness controls be accessed from within retropi?

Looks like a great product and looking forward to getting stuck into the build!!

Stock LCD:
https://www.freeplaytech.com/product/fre...cement-lcd/

Example AGS-101:
https://www.ebay.co.uk/i/173054045086?var=471812804581
Reply
#2
First of all, I want to apologize because I can’t give you a real proper reply. I’m traveling, and I just have a minute or two on my phone right now. I’ve never seen anyone try to get the 101 screen working on a Raspberry Pi. I looked into this a bit about 6mo ago, But sourcing those LCD is is really difficult. We can’t really do it in the quantities/prices needed for this project.

The Pi can do a DPI mode that could potentially work for the AGS-101. I really can’t say for sure, though. It’s not anywhere near as easy as just plugging in another LCD, though.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#3
Thanks for the quick reply, really appreciate it!

After googling around a bit there's not a lot of info on connecting an AGS-101 to a pi. People who have a GBA SP and are replacing the insides with a pi seem to be swapping out their screen with something else.

I've seen one Gameboy advance build that references an AGS-101 screen, but no info on how to do it. Lots of references to it not being easy/possible.

The only forthcoming info I can see about the AGS-101 is upgrading a GBA to use the newer AGS-101 screen.

Anyway, the screen maybe perfectly fine. And I have no idea how it compares to the AGS-101 in terms of colour/refresh/brightness. Will see how it is when it arrives.

Thanks for the reply again! If you do have a view on the best possible screen in terms of colour/refresh/brightness that can be used, it would be good to hear Smile
Reply
#4
I've received the Freeplay Tech CM3 now and have put it together. It's pretty amazing how well this has been designed and thought through. From the perfectly fitting circuit board to the useful software RetroPi hotkeys, this is a great bit of kit.

However, I wish the screen were better. The LCD display lets this build down, and when first using it, was borderline unplayable for me. Especially for a game like Sonic where FPS is important, the screen just didn't seem to be able to keep up. 

So I read up on config for the LCD on these forums and online, and edited the relevant lines in /boot/config.txt to:
Code:
hdmi_force_hotplug=1
hdmi_cvt=320 240 60 1 0 0 0
hdmi_group=2
hdmi_mode=87
dtparam=spi=on
dtoverlay=waveshare32b:speed=99999999,fps=60,rotate=270

My understanding is that the speed parameter here relates to the speed of the SPI interface that the LCD uses. The higher the number, the more information is pushed to the LCD. I initially changed this speed from 80000000 to 82000000 as per advice from other forum posts. It made a noticeable improvement. So I kept increasing the speed until I reached the level where it wouldn't go any higher without artifacts appearing on the display.

So now the device is usable for me. However, while the Raspberry Pi CM3 is capable of rendering 60 fps, the display is not running at 60 fps. It's probably closer to 30 fps, maybe 35 ish at a guess. To be clear, the CM3 pushes 60 fps but 60 frames per second are not being rendered by the LCD. I'm guessing that this is a hardware limitation probably with the SPI interface, and I don't know if this interface can actually achieve 60 fps to any LCD.   

After reading up on the Raspberry Pi's display interfaces, I stumbled on the DPI interface which is better. It seems that the LCD for Freeplay Tech uses the less capable SPI interface, and therefore there are some hardware limitations with this.

The best display I can find is the PiMoroni HyperPixel. It uses the DPI interface which means it can achieve 60 fps, but the downside is that all of the GPIO pins are used to push the needed info to the display. https://shop.pimoroni.com/products/hyperpixel

I'm assuming that the 40 pin display interface on the Freeplay Tech CM3 board won't support this. Does anyone know for sure? And obviously the display may just be too big for teh gba shell without cutting more of the inside away (and I don't know if it will actually fit with the buttons on either side). Anyone have experience and know if this 3.5" display can fit?

If the above display isn't going to work, what's the best LCD hardware available out there that will fit in a gba shell for a Freeplay tech build? When looking for a replacement LCD that can fit, I'm not so sure that one exists. I think that what we have may be the best thing available.

Now with the change to the config above, the device is now playable for me and I'm excited to get stuck into some games. But I can't help think if there's a better display out there that will make the experience even better than it already is.

Does anyone have any thoughts?
Reply
#5
Hey again, wabbit4two!

The included LCD was chosen because, for most of our parameters, it's the only one that works for this project.  The physical size of the LCD is the #1 concern here.  We really don't have much wiggle room on that.  The LCD itself is actually larger than the viewable area of the GBA, so we could use a slightly smaller LCD, but we haven't found one that fits better.

Most of our early design decisions were centered around the Freeplay Zero.  To use the Pi Zero with audio ouput, GPIO buttons, an SPI LCD was the best choice.  In fact, there are no extra pins left available on the Pi Zero after we hook everything up.

It was also a priority design goal of ours to be able to use HDMI and the built-in LCD at the same time.  The current LCD gives us that ability, because it can run at the same time as HDMI.  I believe a DPI screen cannot work in that configuration.

After proving the Freeplay Zero design, we moved to the Freeplay CM3.  It gives us more options, but I still believe that it's very important to keep some of the design consistent across versions.  The LCD is (in theory) one place we could look into new options, but it still remains that the current LCD physically fits best in the shell.  

I do think that we may very well move to a DPI LCD (for the CM3) if we ever build our own shell.  That would remove the physical size requirement, and give us more wiggle room on options to design around.  Currently, we have to pick an LCD that fits instead of something we can design around.

I hope that all makes sense.

Also, I do believe that your config.txt options may be worth moving to for the Freeplay CM3.  We can have different options for the 0 or CM3 for that stuff.  The 80000000 speed setting works well on both the Zero and CM3, but I think we should try your settings and maybe apply them to the CM3 only.

In addition to those settings, you may also want to explore the settings in /boot/freeplayfbcp.cfg
They should look like this: https://github.com/TheFlav/rpi-fbcp/blob...ayfbcp.cfg

For the CM3, you could experiment with the FREEPLAY_FPS setting.  That is setting how many times per second the fbcp program will try to copy the HDMI output to the LCD screen.  You may also find that setting the FREEPLAY_SCALE_TO_VIEWPORT option to 0 could give you a minor update increase, too.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#6
(04-18-2018, 01:16 AM)Flavor Wrote: Hey again, wabbit4two!

The included LCD was chosen because, for most of our parameters, it's the only one that works for this project.  The physical size of the LCD is the #1 concern here.  We really don't have much wiggle room on that.  The LCD itself is actually larger than the viewable area of the GBA, so we could use a slightly smaller LCD, but we haven't found one that fits better.

Most of our early design decisions were centered around the Freeplay Zero.  To use the Pi Zero with audio ouput, GPIO buttons, an SPI LCD was the best choice.  In fact, there are no extra pins left available on the Pi Zero after we hook everything up.

It was also a priority design goal of ours to be able to use HDMI and the built-in LCD at the same time.  The current LCD gives us that ability, because it can run at the same time as HDMI.  I believe a DPI screen cannot work in that configuration.

After proving the Freeplay Zero design, we moved to the Freeplay CM3.  It gives us more options, but I still believe that it's very important to keep some of the design consistent across versions.  The LCD is (in theory) one place we could look into new options, but it still remains that the current LCD physically fits best in the shell.  

I do think that we may very well move to a DPI LCD (for the CM3) if we ever build our own shell.  That would remove the physical size requirement, and give us more wiggle room on options to design around.  Currently, we have to pick an LCD that fits instead of something we can design around.

I hope that all makes sense.

Also, I do believe that your config.txt options may be worth moving to for the Freeplay CM3.  We can have different options for the 0 or CM3 for that stuff.  The 80000000 speed setting works well on both the Zero and CM3, but I think we should try your settings and maybe apply them to the CM3 only.

In addition to those settings, you may also want to explore the settings in /boot/freeplayfbcp.cfg
They should look like this: https://github.com/TheFlav/rpi-fbcp/blob...ayfbcp.cfg

For the CM3, you could experiment with the FREEPLAY_FPS setting.  That is setting how many times per second the fbcp program will try to copy the HDMI output to the LCD screen.  You may also find that setting the FREEPLAY_SCALE_TO_VIEWPORT option to 0 could give you a minor update increase, too.

Hey Flavor,

Before using the new ILI9341 drivers I had made this changes to my config.txt as well as the freeplayfbcp.cfg.
Now that I am using the new drivers, should I revert back to the original config.txt settings or it will not make a difference?

If I plug it into my TV, does it have any possible impact?

P.S. The new drivers are AMAZING. Night and day difference. Full-on 60fps play now.
Reply
#7
(11-27-2018, 08:35 AM)rodrigomuller Wrote: Hey Flavor,

Before using the new ILI9341 drivers I had made this changes to my config.txt as well as the freeplayfbcp.cfg.
Now that I am using the new drivers, should I revert back to the original config.txt settings or it will not make a difference?

If I plug it into my TV, does it have any possible impact?

P.S. The new drivers are AMAZING. Night and day difference. Full-on 60fps play now.

Hey rodrigomuller!

What changes did you make in config.txt and freeplayfbcp.cfg?

The freeplayfbcp.cfg file is not used by the new ILI9341 at all. Changes there will not make any difference.

Changes to config.txt may or may not matter. In general, if it looks good on the LCD and on the HDMI, I probably wouldn't mess with it.

Plugging in HDMI should not (in theory) make any difference. The video is being pumped out that port even when you're not using HDMI. If you do notice a difference, let me know. I guess there could be something internal to the operating system that I don't know about.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#8
(11-27-2018, 09:42 AM)Flavor Wrote:
(11-27-2018, 08:35 AM)rodrigomuller Wrote: Hey Flavor,

Before using the new ILI9341 drivers I had made this changes to my config.txt as well as the freeplayfbcp.cfg.
Now that I am using the new drivers, should I revert back to the original config.txt settings or it will not make a difference?

If I plug it into my TV, does it have any possible impact?

P.S. The new drivers are AMAZING. Night and day difference. Full-on 60fps play now.

Hey rodrigomuller!

What changes did you make in config.txt and freeplayfbcp.cfg?

The freeplayfbcp.cfg file is not used by the new ILI9341 at all.  Changes there will not make any difference.

Changes to config.txt may or may not matter.  In general, if it looks good on the LCD and on the HDMI, I probably wouldn't mess with it.

Plugging in HDMI should not (in theory) make any difference.  The video is being pumped out that port even when you're not using HDMI.  If you do notice a difference, let me know.  I guess there could be something internal to the operating system that I don't know about.

Changes I made were these, from the original config.txt settings:

hdmi_group=2
hdmi_mode=16
hdmi_drive=1

To a "faster" mode mentioned in the forum:

hdmi_cvt=320 240 60 1 0 0 0
hdmi_group=2
hdmi_mode=87
hdmi_drive=1

From my understanding the hdmi_cvt option with mode 87 is a custom CVT mode setting the screen resolution to 320x240. If so, my TV would have to somehow accept and upscale that resolution by itself, correct?

If so, if I someday plug it into my TV and it didn't display anything, then I would have to roll back to the original config.txt settings?

Thank you for your attention once again.
Reply
#9
(11-28-2018, 04:53 AM)rodrigomuller Wrote: Changes I made were these, from the original config.txt settings:

hdmi_group=2
hdmi_mode=16
hdmi_drive=1

To a "faster" mode mentioned in the forum:

hdmi_cvt=320 240 60 1 0 0 0
hdmi_group=2
hdmi_mode=87
hdmi_drive=1

From my understanding the hdmi_cvt option with mode 87 is a custom CVT mode setting the screen resolution to 320x240. If so, my TV would have to somehow accept and upscale that resolution by itself, correct?

If so, if I someday plug it into my TV and it didn't display anything, then I would have to roll back to the original config.txt settings?

Thank you for your attention once again.

You are correct. This mode that you're using is a custom mode that will not likely work on any HDMI TV/Monitor. This is entirely acceptable if you don't plan do use HDMI, and you can just set it back if/when you do.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#10
(11-28-2018, 06:09 AM)Flavor Wrote: You are correct.  This mode that you're using is a custom mode that will not likely work on any HDMI TV/Monitor.  This is entirely acceptable if you don't plan do use HDMI, and you can just set it back if/when you do.

Cool! Thank you very much.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)