GPi Zero 2 v1.52 & GPi Zero v1.15(Retropie Images for Pi Zero/Zero2 + GPi Case 1 & GPi Case 2W)
-
Unlike the Wonderswan/Wonderswan Color, where there were quite a few black and white only releases, there was, IIRC, 10 non-color NGP games ever released.
Due to this I've never treated them as separate systems on any emulation setup I've made. I have both .NGP and .NGC extensions set up for EmulationStation, so both are detected and handled by the one "System".
Upgrading should generally work (I was able to do a full upgrade of everything from the state of 12/31 to day before yesterday fine), unless dtbo files get updated, then either the LCD or sound will have issues without manual intervention to fix. This would be the same case for any OS image for the machine, not just mine, due to how the LCD/etc hardware needs patches to function correctly.
-
I just made some mods and opened up the hdmi port. I wasn't able to use it successfully though. Any tips? I'm gonna try another tv since I know mine tho new can be wonky about it. I tried a few different ways but didn't have any success. Nothing broke but it just didn't care for displaying. I'm using a straight cable for testing. I'm gonna try other tv's tomorrow but so far no luck. I'm hoping it's just my tv since I'd never use it personally on my own tv having an rpi4 rig with synced saves.
-
@killj0y1 you changed the config txt file and got rid of the dpi display settings?
-
@retropieuser555 no I did but I missed that post mind pointing me in the right direction?
-
@killj0y1 ah okay if you did edit the config txt already back to using HDMI then that's my idea gone. So the gpi case patch comes with the original files and the patch files. Just pop the original config.txt back into the boot directory and that should allow the pi to boot into it's default HDMI mode
-
This image has a custom config.txt that the HDMI scripts edit in place to replace the (crude) functionality the original GPi Case patch performed.
When you enable HDMI out under the Advanced Settings menu, it removes a block of text that sets up the A/V over the GPIO pins, allowing the HDMI output to work at next reboot. When/if it detects the cable has been unplugged, or the HDMI toggle script is ran manually again, it adds it back.
Replace all text in config.txt with the following to set it back to how my setup expects it to be:
# For more options and information see # http://rpf.io/configtxt # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable infrared communication. #dtoverlay=gpio-ir,gpio_pin=17 #dtoverlay=gpio-ir-tx,gpio_pin=18 # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack #dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] disable_splash=1 enable_uart=0 dtparam=sd_overclock=50 gpu_mem_256=128 gpu_mem_512=128 gpu_mem_1024=256 overscan_scale=1 arm_freq=1000 over_voltage=0 initramfs initramfs.img ###gpicase### boot_delay=3 dtoverlay=audremap,pins_18_19,swap_lr display_rotate=1 dtoverlay=dpi24 overscan_left=0 overscan_right=0 overscan_top=0 overscan_bottom=0 framebuffer_width=320 framebuffer_height=240 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=87 dpi_output_format=0x6016 #hdmi_timings=320 0 28 18 28 480 0 2 2 4 0 0 0 60 0 32000000 6 hdmi_timings=240 1 38 10 20 320 1 20 4 4 0 0 0 60 0 6400000 1 avoid_safe_mode=1 disable_pvt=1 disable_audio_dither=1 extra_transpose_buffer=2 audio_pwm_mode=2 dtparam=act_led_trigger=default-on ###gpicase###
The HDMI scripts should work now. Unless you deleted ~/gpihdmiout, in which case, you need to put that back since that's where the scripts themselves and the required dtbo files live.
If not, not sure what you're running into; I've gotten it to work with 8 different TVs and monitors so far.
-
@sliver-x ok got it but can I still add an overclock or will your script just refuse to work if anything is set differently. Really only would edit that and overvoltage. So long as it works but way you described I'm happy with that.
-
"enable.sh" takes a backup of current Retroarch config files and EmulationStation's config then restores the HDMI mode copies of them if they exist, deletes the text between the #####gpizero##### markers in /boot/config.txt, copies /home/pi/gpihdmiout/hdmi.dtbo to /boot/overlays/dpi24.dtbo, blanks the file /etc/asound.conf and sets the default sound device in EmulationStation to HDMI.
"disable.sh" takes a backup of current Retroarch config files and EmulationStation's config then restores the LCD mode copies of them if they exist, adds the text between the #####gpizero##### markers in /boot/config.txt, copies /home/pi/gpihdmiout/lcd.dtbo to /boot/overlays/dpi24.dtbo, builds a copy of /etc/asound.conf that performs mono downmixing of the audio and sets the default sound device in EmulationStation to "Headphone".
So long as nothing you set in config.txt conflicts with something "disable.sh" or "enable.sh" is writing to config.txt, or trying to do custom ALSA configs via /etc/asound.conf, it shouldn't matter what you change, the scripts won't touch it.
-
@sliver-x ok awesome and I'm assuming you appended everything to the config.txt on the boot partition or is it stored elsewhere?
Edit: nvm I got what you meant in the first post. Swap it completely and let it do its thing.
Edit2: I think I know what the problem might be. Your original es_systems.cfg I disabled to use the updated (I installed more systems that didn't show up) in /etc vs /opt. I wonder if that's what's causing the problem I'll try and copy it over and see if that does the trick. I'll also check out config.txt to see if it matches what you posted.
Edit 3: yup config.txt matches. Moved over es_systems.cfg to match in /opt gonna try it out.
Edit4: yea no dice even tried another tv. Config.txt seems fine I'll attach it if I can or just add it to this post. Otherwise everything else seems fine the gpihdmi folder you mentioned is there and I even took a look at the script and nothing it references was changed. So odd.
# For more options and information see # http://rpf.io/configtxt # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable infrared communication. #dtoverlay=gpio-ir,gpio_pin=17 #dtoverlay=gpio-ir-tx,gpio_pin=18 # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack #dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] disable_splash=1 enable_uart=0 dtparam=sd_overclock=80 gpu_mem_256=128 gpu_mem_512=128 gpu_mem_1024=256 overscan_scale=1 arm_freq=1300 over_voltage=5 initramfs initramfs.img ###gpicase### boot_delay=3 dtoverlay=audremap,pins_18_19,swap_lr display_rotate=1 dtoverlay=dpi24 overscan_left=0 overscan_right=0 overscan_top=0 overscan_bottom=0 framebuffer_width=320 framebuffer_height=240 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=87 dpi_output_format=0x6016 #hdmi_timings=320 0 28 18 28 480 0 2 2 4 0 0 0 60 0 32000000 6 hdmi_timings=240 1 38 10 20 320 1 20 4 4 0 0 0 60 0 6400000 1 avoid_safe_mode=1 disable_pvt=1 disable_audio_dither=1 audio_pwm_mode=2 dtparam=act_led_trigger=default-on extra_transpose_buffer=2 ###gpicase###
-
@sliver-x also noticed that samba shares arent persistent after reboot but I didn't see a toggle for it. Dunno if that's intentional for power saving. It's not a big deal since I just reinstall it and it takes 2 seconds and it works. Not something I need often anyways but just curious.
-
@sliver-x ok after testing with a bone stock raspbian image to see if it's hardware or software. I tried stock raspbian on both my pi zero 2 and zero 1 and a lot of back and forth and I found it was the cable I had cut it back to make better contact but it seems not enough even though it seemed to fully fit in. So that's solved. The samba thing is still a mystery. Thanks for the help 🤘🏻
-
Samba and all associated services are disabled by default. I wrote a script to toggle this; are you using it or doing this through raspi-config?
-
@sliver-x how can i replace advanced settings ? i have to copy es_cfg from /etc/retropie to /proc /retropie and replace the file to show missing emulators in the process i loose advanced settings options.
-
@joao76 A keyboard is needed to configure the nds emulator ? i cant exit the emulator . with select +start or another combination of keys.
-
Why are you replacing the entire file rather than selectively adding what you're trying to set up?
I'm willing to support the setup I built, but you're straying outside of that at this point. Standard Retropie documentation should be sufficient to figure out what you're attempting to accomplish.
-
If someone can share one copy of the es_cfg in the proc/retropie its the only way i can correct my problem for replacing the advanced settings. This is a good system but there are litle things ...... and i'm begining to use and learning.
-
@Sliver-X Thanks for the fantastic work! I've just upgraded my GPi Case to Zero 2, using your RetroPie image, on a new microSD card. I manually copied over all my ROMs and saved .states, from old card to the new, using my RPi4.
I'm having one issue; the ROMs load and play just fine,
but cannot recognize/load the saved .state files.I can Save, and Load new .state files. Can't figure out what is wrong with the copied ones. Any help would be appreciated. Cheers!
EDIT: Upon further testing, it seems it's only Nintendo NES that cannot load saved .state files.
gb and megadrive do it fine... hmmm... -
This post is deleted! -
@scotthw said in GPi Zero 2 v1.4 (Retroflag GPi Image for Pi Zero 2 W):
EDIT: Upon further testing, it seems it's only Nintendo NES that cannot load saved .state files.
Alright, seems to be a known issue, stemming from emulator core updates, rather than something specific to this build.
Unrecognized nes state file
https://retropie.org.uk/forum/topic/20167/unrecognized-nes-state-file
1 Dec 2018Includes a link to the github issue.
.
And there's this discussion
Upgrading to Retropie 4.4 makes old lr-fceumm SaveStates incompatible
https://retropie.org.uk/forum/topic/17518/upgrading-to-retropie-4-4-makes-old-lr-fceumm-savestates-incompatible
25 Apr 2018mediamogul [Global Moderator]
The best you can hope for is to load the save state from the previous core version and work your way to an area that allows for a normal memory save. Afterwards, update the core load the save and make a new save state. I realize this wouldn't be possible for all games and it's a major hassle, but it's really the only option. It's best to only utilize save states for very casual use and at no time when it's crucial to keep them for long periods of time. Save state formats can change at any time depending on development. You might see an emulator/core keep its format throughout its lifespan, or you might see it change several times a year. -
It may be be worth trying to transplant the core .so file from the build the save states were created with to my image and see if that works: With a core as mature as fceumm I doubt any functionality/compatibility with various MMCs/etc would be missing between them.
If that works, just avoid updating the fceumm core in the future if possible.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.