I have been very busy with work and a bathroom refit but I just wanted show a small glimpse of what I’ve been working on, when I’ve had a spare moment. I’m also going to be adding x and y buttons soon.
The last task to do now before we close up the shell is to solder the battery contacts to the board. The only thing I was worried about was getting them the right distance apart… so the shell will close.
You will be soldering on to the bottom of the board as in picture 1. You will want to add solder to the top of the contacts (don’t hold the contact, it will get very hot). Using a pair of plyers you will want to slot the contact under the board, then line up the holes of the contact and board. As your holding the contact in place and its all lined up heat the solder that is on top of the board so that you can attached the contact. I trimmed down the other contact like in picture 2.
After trimming the other contact you will want to repeat the process for soldering the second contact. Now you will want to put the shell together. When I get a spare moment I will take the board out of the shell and check the soldering from the otherside. I’m waiting on a front LCD protector so I can’t fully close up the shell.
Now its time to setup retropie. Ed includes an SD card image but I found there are some changes that need doing, like installing some custom emulators which aren’t includes within the retropie’s OS anymore, setting up WiFi and sorting out the display text size.
Connect a keyboard and WiFi adapter to the Raspberry pi zero via USB hub and OTG (On The Go) adapter. Navigate to the retropie menu and choose WiFi, use the keyboard and select your router and then input your password. Now that we have WiFi access we can use putty and SSH to connect to the pi.
Installing Custom Emulators
The RetroPie OS includes alot of great emulators but for some reason there are a couple which don’t get included in the setup script. It is very easy to add custom emulators to RetroPie. First you need to check the Libretro github page to find all the emulators they have to offer for RetroArch which is the backend of RetroPie. In this section I will be adding MGBA which is a great GameBoy Advance emulator. Scroll down the github page until you find it in the list and copy the URL.
I’m going to be logging onto my Pi via putty on windows but this can be done directly on the Pi if you have a keyboard plugged in. I put all my custom emulators into a folder in the home directory.
git clone https://github.com/libretro/mgba
Now you will have to wait a minute or two for your Pi to download all the files from the Github page. The next stage is now to compile the emulator from the github files you downloaded.
You need to make sure you navigate to the MGBA directory and then run the ‘make’ command. This stage will take a while to compile, when it finishes you should have a file called mgba_libretro.so.
Now you will want to SSH onto your Pi and navigate to the /opt/retropie/configs/gba directory and edit the emulators.cfg.
mgba=”/opt/retropie/emulators/retroarch/bin/retroarch -L /home/pi/RetroPie-Custom/mgba/mgba_libretro.so –config /opt/retropie/configs/gba/retroarch.cfg %ROM%”
You will want to copy the original entry and make the changes to match your newly compiled emulator. Make sure the root to MGBA is correct so it looks like the entry above. Then change the default to MGBA. Save the file and it should automatically re-upload to your Pi. Then on the GPA you will want to load a GBA rom. It should now load the rom within the new emulator. You can alway check which emulator it is using when you load a game, it should tell you in the grey square after the rom name in bracket.
I also recommend VBA-Next and Snes9x-2010.
I really do like the idea of Retroachievements.org, which is still abit buggy and really only works for Nes, Snes, GBC and Genisis games. It is very easy to turn achievements on by navigating to the /opt/retropie/configs/all folder and editing the retroarch.cfg file. All you need to add is 3 lines of code.
cheevos_username = *******
cheevos_password = *******
cheevos_enable = true
Make sure you have opened an account at retroachievements.org and then use this data for the username and password lines. Now you have activated achievements within your favorite classic retro games.
Retropie Web Manager
The Retropie Web Manager is a fork of the web interface from Recalbox OS. This add-on is great, you can add new or manage your roms. You can edit your retroarch.cfg files.
I was installing this via their github page but this is now included with the experimental page of the retropie setup script version 4.0.3 I had problems getting the add-on to start when you first boot up the Pi. I have now installed this add-on via the retropie setup, it adds a link to the retropie menu and you can now just choose the boot up option which works perfectly now.
Game list Errors
I was first getting errors when jumping between games, to solve this I had to uninstall the emulators these gamelist were connected to which fixed the problem. I was already going to remove these as they are for emulators which im not interested in.
Remove Unwanted Emulators
To speed loading times up, I have removed all the emulators that im not interested in. You will want to load the setup script from the retropie menu (or from putty on a computer). Select manage packages, emulators can be stored in 3 out of the 5 menus listed. Manage main packages, manage optional packages and manage experimental packages.
I want to remove lr-genesis-plus-gx which is located in the main packages, select it and then choose remove. Let it do its thing and when your back at the menu, you can remove to the next one.
Video Text Size
Its very easy to change the yellow text size that appears when a game is loading and also used by retroachievements. You want to SSH or edit via the web manager and edit the retroarch.cfg file and add this to the config.
# Size of the font rendered.
video_font_size = “20”
This will make the text readable.
I will do another update when my front surround has arrived and any other setup details I have missed or that has been requested. Let me know.
I have bought one of Eds kits from GamePieAdvance.com website. As you can see from the picture this board looks great and has everything built in. The best thing about this kit is that you receive all the parts needed for this builds minus the shell. I bought the shell a while ago for a raspberry pi zero build, so I already had it to hand.
The first thing I wanted to do is to power this thing up so I soldered the GPIO header to my Zero and connected it to the GPA board. Beware when connecting these boards together they will be very stiff. I connected the LCD and powered up the pi with my USB power bank. It boots up and seem to work fine.
We are going to firstly start with modifying the rear shell. You need to remove a the metal shielding from the shell near the cartridge hole. After you have done that you are going to want to remove the screw mounts and side frame which are next to the cartridge holder. To do this you will need to use your knife to score the edging of the plastic like seen in the picture. Then using a pair of plyer’s twist and rock backward and forwards until it snaps off.
Do this on both sides. Then, use a dremel to tidy up the plastics. You are also going to want to remove the two square blocks at the bottom of the cartridge holder as seen in picture 2 as the bottom of the GPIO pins touch them and then the board won’t fit in place. (I worked this out after doing the next step and I may have removed to much of the shell).
Before you will be able to get the board to fit inside the back case you need to open up the headphone and volume wheel, holes to make these fit and remove part of the screw mount so the volume wheel can spin without hitting it. I have also found when I was building my GBZ that not all aftermarket shells are the same and things can be slightly off. So you might not need to take so much off. You will need to keep checking the board and the front go together ok. When it does fit together ok and the volume wheel spins fine it time to modify the front shell.
To make the screen fit inside the front shell, you will need cut off a couple of tabs off the screen which are located near the cable. (sorry didnt have a picture). You will need to remove both corners from the bottom of the surround (As you can see in picture 4 and 6). Next you will need to remove the whole left side of the surround as pictured in picture 2. Like seen in picture 5 some of the speaker surround will need removing as well as some of the top left plastic. After doing this and you find that the screen fits in nicely then you will need to use the dremel to remove the raised sections by the screen hole. This is so the lcd can sit flat to the shell.
There is a small bump in the button which will need to be removed to make it work with the new switch. You can do this by just cutting it out with a set of wire cutters (as seen pictured). You also need to remove some of the old plastic around the L&R buttons(As Pictured). You will want to try and put the shell together and make sure everything fit together properly.
You will need to trim the A&B button rubber so it doesnt get stuck on the LCD.
I now put all the buttons in the shell with the rubbers. The with the speaker in the front shell first the lcd then goes on top and screwed the board into place. Im currently messing around with the RetroPie while having the unit powered off the Raspberry Pi Zero charging port. So far the unit works very well. I had to install some custom emulators which weren’t included within Retropie OS. The GPA loads alot faster than my GBZ does. Not sure why either.
The build is almost finished, I still have to mess around with the software and get everything working correctly.