eduardofilo / RG350_adam_image

314 stars 36 forks source link

REQUEST: Image works on PocketGo2/PlayGo Rev2 devices already, please add Rev1 support #7

Closed esmith13 closed 2 years ago

esmith13 commented 3 years ago

The PocketGo2 (also sold as the PlayGo) had two hardware revisions. The difference being (I believe) that Rev2 added a reset button and has a different screen driver. The most common firmware for both revisions is Rogue CFW and the only difference between getting the firmware to work on each revision is their version of the boot files that your setup script changes when you choose which device your running on. Rev 2 devices work with your current boot files for the RG350, but Rev 1 devices won't work with any of the available options. Would it be possible for you to add support for the Rev 1 devices? Here is a link to that CFW for reference if it helps: https://github.com/Ninoh-FOX/POCKETGO2_ROGUE_CFW

Thanks in advance for your time and your image is AMAZING work! My 280V and I thank you!

eduardofilo commented 3 years ago

The PlayGo (PocketGo2 Rev1) support is already prepared in the future v1.0.4 revision of the image. In one or two days I will release it.

Thanks to you.

esmith13 commented 3 years ago

Thank you so much!

NickMellon commented 3 years ago

Is there a particular method to getting the Rev 1 console to boot with this FW? I've tried the instructions in the repo, but the console remains on a black screen. I've tried removing the battery then reinserting, making sure the battery is fully charged and trying whilst connected to the charger. I also tried manually copying the files over instead of using the script. I've tried multiple SD cards. The console and cards work fine using other FW.

esmith13 commented 3 years ago

I still cannot get a Rev1 PlayGo or PocketGo2 to boot even with v1.1. All other supported devices work as expected. Black screen and no LED activity on both my Rev1 devices as well.

eduardofilo commented 3 years ago

I don't have that machine. If you could do a clean install of ODBeta it would help me.

esmith13 commented 3 years ago

I would love to help if I can. Unfortunately, the only resource I know of for original firmwares is rghandhelds and they now point to the Rogue CFW for the PocketGo2/PlayGo. The Rogue CFW github has a link to retromimi for the OEM firmware, but it is no longer available for download. I tried using Rogue CFW as my base and installing the ODBeta opk file thru that, but it would not install on top of Rogue CFW. If you can tell me where I can get my hands on the original firmware to load ODBeta opk on top of I would be happy to do it.

NickMellon commented 3 years ago

Stock firmware can be found here: https://github.com/retrogamehandheld/PocketGo2/wiki/Firmware-and-software-updates

I've installed stock and installed the ODBeta. Sadly it doesn't appear usable. @esmith13 can you try the stock firmware and ODBeta and let me know if you get the same issue? I'll upload some images shortly

NickMellon commented 3 years ago

I figured a video would be better than images: https://www.youtube.com/watch?v=hGxiWntfeys

esmith13 commented 3 years ago

I get the same yellow/olive green boot logo and progress bar but mine gets stuck 2/3 of the way and never boots at all after installing ODBeta EDIT: Correction. I now get exactly what you show in your video. I tried a different SD card.

MartianMSK commented 3 years ago

Same problem. The Firmware doesn't boot and the led stay off. Is there some way I can help figuring out the problem?

eduardofilo commented 3 years ago

The LED off sounds to me that you didn't apply step 4 of the installation procedure:

https://github.com/eduardofilo/RG350_adam_image#installation-procedure

Could that be the case?

MartianMSK commented 3 years ago

The LED off sounds to me that you didn't apply step 4 of the installation procedure:

https://github.com/eduardofilo/RG350_adam_image#installation-procedure

Could that be the case?

Already tried both with the "select_kernel.bat" (pressed 5, tried also 3), and by manually copying the files in the "playgo" directory.

NickMellon commented 3 years ago

I can confirm that the LED will not come on on my PocketGo2 v1 regardless of the method used to copy the files to the root of sd card.

esmith13 commented 3 years ago

Agreed. LED does NOT turn on unless the console likes the OS on the SD card.

eduardofilo commented 3 years ago

In that case, there is something wrong in the image, because at least it should see like in the @NickMellon video. Difficult to debug without the machine, although. However, even if it looked like the video, the console would be useless, so I will remove support for PlayGo / PG2v1.

NickMellon commented 3 years ago

@eduardofilo

To clarify - if I try the Adam Image following the instructions here I get no LED and a black screen. If I install stock firmware then install the latest version of ODBeta I get what you see in that video.

MartianMSK commented 3 years ago

@eduardofilo What was in the video wasn't your Adam Image, I think. And from what I've understand the image works on all the other devices of @esmith13, so the problem in not in the image per se.

esmith13 commented 3 years ago

@MartianMSK I think you misunderstood what I said earlier. I own most of the supported handhelds and I was able to get it to work on everything EXCEPT the PocketGo2 & PlayGo - both of which I own the Rev1 hardware. I simply stated that to confirm I "know what I'm doing" and the lack of functionality on my PocketGo2 & PlayGo were not because I failed to follow instructions properly. Other CFW for the PocketGo2 (Rogue CFW) has to release as two seperate downloads for the two different revisions of the PocketGo2. The problem IS the image - simply because it's not able to support the hardware difference in the Rev1 device.

I agree with @NickMellon's assessment of the situation. Adam Image will not boot at all - just black screen and NO power LED. OEM MiyooCFW, once updated to ODBeta gives the results posted in the video attached to Nick's earlier post.

It is more than understandable that @eduardofilo will drop support since without a device in hand to test with getting this resolved would be extremely difficult, at best.

@eduardofilo - Thank you for at least trying.

eduardofilo commented 3 years ago

@NickMellon I understand the situation, but what I was referring to is that the best I could get is to reproduce the problem of the screen on clean ODBeta that is seen in the video. Therefore, although something has been done wrong in the image, I cannot support those consoles until the problem is resolved in ODBeta. Thanks for the information and effort anyway. Greetings...

eduardofilo commented 3 years ago

About the comments of @esmith13 , in theory PlayGo is supported in ODBeta. This CFW have an efficient system to give support to different devices without the need of making different releases, based on device tree files. Reading the update script of ODBeta, I can see that PlayGo even uses the same bootloader that RG350.

    anbernic,rg350|anbernic,rg350m|ylm,rg350|ylm,rg350m|ylm,rg280m|ylm,rg280v|ylm,rg300x|wolsen,playgo)
        HWVARIANT_DT=$(echo $MODEL |cut -d',' -f2)
        HWVARIANT_BL="rg350"
        ;;

HWVARIANT_BL determines the bootloader and HWVARIANT_DT the device tree. And as you can see next, the dtb files are similar between different devices and the one for PlayGo is present in the ODBeta update OPK:

edumoreno@eduardo-HP-Folio-13:~/git/RG350_adam_image/manual_build/select_kernel/squashfs-root/gcw0$ ls -l *.dtb
-rwxr-xr-x 1 edumoreno edumoreno 19651 ago 25 16:30 gcw0.dtb
-rwxr-xr-x 1 edumoreno edumoreno 19651 ago 25 16:30 gcw0_proto.dtb
-rwxr-xr-x 1 edumoreno edumoreno 20635 ago 25 16:30 playgo.dtb
-rwxr-xr-x 1 edumoreno edumoreno 20439 ago 25 16:30 rg280m.dtb
-rwxr-xr-x 1 edumoreno edumoreno 19999 ago 25 16:30 rg280v.dtb
-rwxr-xr-x 1 edumoreno edumoreno 21281 ago 25 16:30 rg300x.dtb
-rwxr-xr-x 1 edumoreno edumoreno 21793 ago 25 16:30 rg350.dtb
-rwxr-xr-x 1 edumoreno edumoreno 21601 ago 25 16:30 rg350m.dtb

In summary, that the support is contemplated, but by the way, I made an error integrating it in Adam and the dtb for PlayGo in ODBeta update has some problems.

esmith13 commented 3 years ago

If it matters, I can confirm PlayGo Rev1 performs exactly as in the video posted as well using ODBeta. The dev of ODBeta must be working with Rev2 hardware. Rev2 hardware works with the rg350 dtb. Even older versions of your image work perfectly with both PocketGo2 & PlayGo Rev2 hardware by choosing the rg350 option.

Ninoh-FOX commented 3 years ago

About the comments of @esmith13 , in theory PlayGo is supported in ODBeta. This CFW have an efficient system to give support to different devices without the need of making different releases, based on device tree files. Reading the update script of ODBeta, I can see that PlayGo even uses the same bootloader that RG350.

  anbernic,rg350|anbernic,rg350m|ylm,rg350|ylm,rg350m|ylm,rg280m|ylm,rg280v|ylm,rg300x|wolsen,playgo)
      HWVARIANT_DT=$(echo $MODEL |cut -d',' -f2)
      HWVARIANT_BL="rg350"
      ;;

HWVARIANT_BL determines the bootloader and HWVARIANT_DT the device tree. And as you can see next, the dtb files are similar between different devices and the one for PlayGo is present in the ODBeta update OPK:

edumoreno@eduardo-HP-Folio-13:~/git/RG350_adam_image/manual_build/select_kernel/squashfs-root/gcw0$ ls -l *.dtb
-rwxr-xr-x 1 edumoreno edumoreno 19651 ago 25 16:30 gcw0.dtb
-rwxr-xr-x 1 edumoreno edumoreno 19651 ago 25 16:30 gcw0_proto.dtb
-rwxr-xr-x 1 edumoreno edumoreno 20635 ago 25 16:30 playgo.dtb
-rwxr-xr-x 1 edumoreno edumoreno 20439 ago 25 16:30 rg280m.dtb
-rwxr-xr-x 1 edumoreno edumoreno 19999 ago 25 16:30 rg280v.dtb
-rwxr-xr-x 1 edumoreno edumoreno 21281 ago 25 16:30 rg300x.dtb
-rwxr-xr-x 1 edumoreno edumoreno 21793 ago 25 16:30 rg350.dtb
-rwxr-xr-x 1 edumoreno edumoreno 21601 ago 25 16:30 rg350m.dtb

In summary, that the support is contemplated, but by the way, I made an error integrating it in Adam and the dtb for PlayGo in ODBeta update has some problems.

Nop, PG2v1 use the bootloader from GCW0

esmith13 commented 3 years ago

@Ninoh-FOX to be clear, which device do you mean uses bootloader of GCW0? PocketGo v1 (physically smaller device than PocketGo v2) or PocketGo2 Rev.1 (Same as PocketGo2 Rev.2 but missing the reset button)

I have Rev.1 hardware of both PocketGo2 and PlayGo devices and neither work with ODBeta or Adam Image but both WILL work with the Rev.1 firmware you provide.

Ninoh-FOX commented 3 years ago

@Ninoh-FOX to be clear, which device do you mean uses bootloader of GCW0? PocketGo v1 (physically smaller device than PocketGo v2) or PocketGo2 Rev.1 (Same as PocketGo2 Rev.2 but missing the reset button)

I have Rev.1 hardware of both PocketGo2 and PlayGo devices and neither work with ODBeta or Adam Image but both WILL work with the Rev.1 firmware you provide.

This is because PG2v1 need the bootloader from GCW0, and PG2v2 need the bootloader from RG350, anyway, the dts from beta need too remaped the R2 and L2 buttons and I don't remember if an adjust voltaje for the screen.

eduardofilo commented 3 years ago

@Ninoh-FOX Well, you see the script code, playgo enters in the same condition as most devices and ends up defining:

HWVARIANT_BL = "rg350"

So then it burns the "rg350" bootloader.

Maybe then the problem is in the ODBeta update script. Anyway, if that machine uses another bootloader, I will not include it in the image. The same thing happens to me with GCW0. I would have to keep two different images and I think it is not worth it given the small park of those consoles.

eduardofilo commented 3 years ago

I'm thinking now that the device tree for playgo is not for v1 but for v2. In that case, the PlayGo v1 may be identified directly as gcw0. Can someone with PlayGo v2 please try to select the kernel that appears as option 5 in the list that the select_kernel.bat script shows?

Ninoh-FOX commented 3 years ago

Yes, is playgo is PG2v2, this is the first problem.

But, GCW0 has another screen driver, so, maybe, don't show imagen.

eduardofilo commented 3 years ago

Can you do me a favor? Someone with PlayGo/PG2 v1 please, flash this image. I suppose that this one will boot, but will show the screen problems like the @NickMellon video. I would also like you to try on the GCW0 if any of you have it. To finish understanding if GCW0 and PlayGo/PG2 v1 are compatible at the bootloader and device tree level.

https://drive.google.com/file/d/1-p6u9pWBqrO99TqU3DgPW-7ysY6k-LD1/view?usp=sharing

NickMellon commented 3 years ago

Can someone else try to confirm I'm not an idiot? I get no LEDs and a black screen on my PG2v1 using the above image.

MartianMSK commented 3 years ago

Can someone else try to confirm I'm not an idiot? I get no LEDs and a black screen on my PG2v1 using the above image.

I don't have it with me. I'll try it tomorrow.

eduardofilo commented 3 years ago

@NickMellon Surely you have done well. It is difficult to prepare the image by touching files blindly.

eduardofilo commented 3 years ago

Someone with a GCW0?

slinky70 commented 3 years ago

this test image also doesn't work for me on my pg2v1....i don't have gcw0...sorry

Ninoh-FOX commented 3 years ago

this test image also doesn't work for me on my pg2v1....i don't have gcw0...sorry

This is normal, not is the same screen driver

eduardofilo commented 3 years ago

I am going to add a new test to the request. So in summary:

  1. Test this on PlayGo / PG2 v1 https://drive.google.com/file/d/1-p6u9pWBqrO99TqU3DgPW-7ysY6k-LD1/view?usp=sharing
  2. Test this on GCW0 https://drive.google.com/file/d/1-p6u9pWBqrO99TqU3DgPW-7ysY6k-LD1/view?usp=sharing
  3. Test normal Adam on PlayGo / PG2 v2 selecting kernel 5: PlayGo / PocketGo2 v1, not the 3: RG350/P / PocketGo2 v2

Test 1 has been made by @NickMellon and @slinky70, so I think we can consider it enough tried.

eduardofilo commented 3 years ago

One more request. Can anyone with PlayGo/PG v1 and v2 send me the content of file /proc/cmdline? You can view it with Dingux Cmdr or make a cat by SSH. This is the result in a RG280V for example:

rg280v:~ $ cat /proc/cmdline
mem=0x0100M mem=0x0100M@0x30000000 root=/dev/loop0 root=/dev/mmcblk0p1 rootfstype=vfat rootwait ro init=/sbin/init init=/mininit-syspart console=ttyS2,57600 earlycon console=tty0 splash rfkill.default_state=0 -- hwvariant=rg350  

Ideally on stock firmware. And if you do, please tell if it is a v1 or v2 device.

ClaireSoftware commented 3 years ago

Both the normal adam setup and the PG2v1 test image don't work on my PG2v1, just to be another confirmation.

ClaireSoftware commented 3 years ago

these are the contents of /proc/cmdline on my pg2v1 running the latest rogue CFW. mem=0x0100M mem=0x0100M@0x30000000 root=/dev/loop0 root=/dev/mmcblk0p1 rootfstype=vfat rootwait ro init=/sbin/init init=/mininit-syspart console=tty0 fbcon=bind:0 rfkill.default_state=0 -- hwvariant=v20_mddr_512mb panic=5 console=tty52,57600 console=tty0 boot=/dev/mmcblk0p1 loop0=/boot/rootfs.squashfs root=/dev/loop0 rfkill.default_state=0

eduardofilo commented 3 years ago

Than you very much. That confirms that PG2 v1 is identified as GCW0 in the ODBeta updater.

Can someone with PG2 v2 do the same test?

retrogamecorps commented 3 years ago

Here is the PlayGo v2 (copied by hand, forgive any typos!):

mem=0x0100M mem-0x0100Mx0x3000000 root=/dev/mmcblk0p1 rootfstype-vfat rootwait ro init=mininit-syspart console=tty0 fbcon=bind:0 rfkill.default_state=0 -- hwvariant=rg350 panic=5 console=ttyS2,57600 console=tty- boot=/dev/mmcblk0p1 loop0=/boot/rootfs.squashfs root=/dev/loop0 rfkill.default_state=0

eduardofilo commented 3 years ago

Thanks to this data I have been able to follow the steps of the ODBeta update script and now I am sure that the device tree for playgo corresponds to v2, and not v1 as I initially assumed. On the other hand, the PlayGo v1 I have already seen that it is identified in that script as "gcw0". Although it is not worth supporting that version of the console because ODBeta does not work well on it yet (the screen looks bad). Thank you all.

pcercuei commented 3 years ago

@eduardofilo I'd suggest to only support the devices that are officially supported by OD beta; and if you want to add support for a new device, add it to OD beta first.

eduardofilo commented 3 years ago

@pcercuei It was precisely just a confusion about the devices supported in ODBeta. I will try not to make it happen again.

pcercuei commented 3 years ago

The Playgo (aka. PocketGo2 v2) should already be supported by OD beta. The PocketGo v1 and the PocketGo2 v1 aren't officially supported (mostly because I don't have any of those).

If the PocketGo v1 is so similar to the GCW-Zero, is the PocketGo v1 working correctly when flashed with the GCW-Zero device tree?

Ninoh-FOX commented 3 years ago

The Playgo (aka. PocketGo2 v2) should already be supported by OD beta. The PocketGo v1 and the PocketGo2 v1 aren't officially supported (mostly because I don't have any of those).

If the PocketGo v1 is so similar to the GCW-Zero, is the PocketGo v1 working correctly when flashed with the GCW-Zero device tree?

The screen not work and you need remaped some keys (is the one that I make for now and the keys works fine, include menu key), But all other yes work.

esmith13 commented 3 years ago

PlayGo has both hardware revisions just like PocketGo2. My PlayGo is Rev1 hardware and will NOT work correctly with ODBeta and your image will not boot at all. Results are identical to posted video. PlayGo Rev1 has no reset button and PlayGo rev2 DOES have a reset button (just like PocketGo2). The only difference between PlayGo and PocketGo2 is plastic shell and name.

pcercuei commented 3 years ago

@esmith13 so: PocketGo2 v1 == PlayGo v1, and PocketGo2 v2 == PlayGo v2?

esmith13 commented 3 years ago

PocketGo2 Rev1 == PlayGo Rev1, and PocketGo2 Rev2 == PlayGo Rev2 The visible difference is if the device has a reset button on the lower left. No reset button == Rev1 == GCW0 profile Has reset button == Rev2 == RG350 profile

pcercuei commented 3 years ago

@esmith13 alright thanks.

pcercuei commented 3 years ago

@esmith13 one last question, since you seem to know your topic - any of these have a real analog stick? Or they are hardwired to the dpad?