How to Build a Monku Retro Gaming Console - Part 2: Configuring the Software

This is a continuation of the Retro Gaming Console article from last month, where we learned how to build a case for a retro gaming console. This installment will show you how to configure the software for the project.

In this article, I will show you in detail how to configure your Monku Retro 1 (ODROID-C1+) or Monku Retro 2 (ODROID-C2) video game console's OS and apps. There will be a few steps involved but I'll outline everything in detail including every command you have to run. If you don't intend to use your device as a retro gaming console it makes a great set top Linux box, you can skip the sections on Retroarch and Antimicro and even the optimization section can probably be ignored. So at the end of this tutorial you'll have a killer retro gaming console of your own making. Well those are our goals, let's jump in and get going. I'll reiterate the features of this device below, these are the same bullet points that are on the hardware section. Note that if at any time you are prompted for a login when working with the terminal use the password, odroid.

Tools Needed

  • A computer with an SD card reader or a USB port if you have an SD card to USB adapter.
  • An SD card, recommended 64GB or greater.
  • Mac SD card image writing software. I use balenaEtcher, it is free and works great.
  • Window SD card image writing software. I use Win32 Disk Imager, it is free and works well but can be a bit finicky with very large drives.
  • An internet connection. If you're reading this you already have this tool, lol.

Parts Needed

  • 64GB Micro SD Card x2: $16.99 (link)
  • SD Card Reader x1: $11.00 (link)
  • Linux Friendly Gamepad x1: $17.00 (link)

Since we included the SD cards in the hardware cost we won't count them here. That means the total cost for this part, assuming you have access to a computer of some kind is $0.00 to $28.00 and you can probably find a cheaper SD card reader but I like this one because it has both Micro SD and SD card support in different slots that both work at the same time. Also game controllers you might already have one you might now but I listed the one I use and a link for a good price on it. Sounds great to me let's move on to the next part.

C1 Features

  • DROID Goodness!
  • Custom Software Control Button
  • Custom Hardware Reset
  • Support for Atari 2600, Atari 7800, ColecoVision, MSX-1, MSX-2, NES, GameBoy, GameBoy Color, Sega SG-1000, Sega Mark III, and Sega Master System configured and ready to go.
  • Retroarch with XBM, custom scripts to monitor the software button, start Retroarch, maintain Antimicro.
  • Configured for low memory usage and for use with included controller.
  • Every ROM tested to see if it loads and properly associated with its emulator.
  • Full Linux desktop environment when not in game kiosk mode via Antimicro.

C1 Software Button Functions

  • 2-second hold: Software reset
  • 4-second hold: Software shutdown
  • 6-second hold: Turn off game kiosk mode.
  • 8-second hold: Change to 1024 x 768 x 32bpp resolution and reboot.
  • 10-second hold: Change to 720p x 32bpp resolution and reboot.

C2 Features

  • ODROID Goodness!
  • Custom Software Control Button
  • Custom Hardware Reset
  • Support for Atari 2600, Atari 7800, Atari Lynx, ColecoVision, MSX-1, MSX-2, NES, GameBoy, GameBoy Color, Virtual Boy, SNES, GameBoy Advance, WonderSwan Pocket/Color, NEO GEO Pocket/Color, Sega SG-1000, Sega Mark 3, Sega Master System, Sega Genesis, Sega GameGear, NEC Turbo Graphics 16, and NEC Super Graphics emulators configured and ready to go.
  • Retroarch with XBM, custom scripts to monitor the software button, start Retroarch, maintain Antimicro.
  • Configured for low memory usage and for use with included controller.
  • Full Linux desktop environment when not in game kiosk mode via Antimicro.

R2 / C2 Software Button Functions:

  • 2-second hold: Software reset
  • 4-second hold: Software shutdown
  • 6-second hold: Turn off game kiosk mode.
  • 8-second hold: Set video to auto for VGA mode, possibly alter retroarch.cfg for USB audio if present.
  • 10-second hold: Set video mode to 720p, alter retroarch.cfg for HDMI audio.

Base 16.04 MATE Image and Writing to an SD Card

I spent an inordinate amount of time testing the operating systems images available for the C1+ and C2 and I've found that Ubuntu 16.04 LTS is the best all around image in terms of efficiency, availability of packages, support, etc. Laka was great but I had a ton of trouble with audio. Ubuntu 18.04 LTS was solid too but it definitely used more resources and I didn't find as many emulators as easily with it so I decided on 16.04 LTS. Boot up your Mac or Windows box. Linux users can pretty much follow the Mac instructions I won't provide specific Linux examples though. Open up your browser and go to the ODROID WIKI page https://wiki.odroid.com/start. If you have a C1+ or C2 go to that section. Figures 1 and 2 show the links for each device.

Figure 1 - ODROID Wiki links for the ODROID-C1
Figure 1 - ODROID Wiki links for the ODROID-C1

Figure 2 - ODROID Wiki links for the ODROID-C2
Figure 2 - ODROID Wiki links for the ODROID-C2

Select your device, then select the os_images, and finally select ubuntu. A page will load on the right-hand pane. Scroll it down until you see the list of mirror sites. I like to use the South Korean mirror, just seems to work the best. Here are the direct links to the OS images for each device.

For ODROID-C1+: https://dn.odroid.com/S805/Ubuntu/ For ODROID-C2: https://dn.odroid.com/S905/Ubuntu/

I'm providing a little bit more information than is necessary I could have just posted the direct download link but I wanted you to see what options there are out there. For the C1+ I used https://dn.odroid.com/S805/Ubuntu/ubuntu-16.04.2-mate-odroid-c1-20170220.img.xz as my base image. If you cannot unzip a .xz file try using 7 - Zip. It is free and works well on Windows. I didn't have an issue on my Mac it could handle .xz files just fine.

For the C2, I used https://dn.odroid.com/S905/Ubuntu/ubuntu64-16.04.2lts-mate-odroid-c2-20170301.img.xz as my base image. I recommend being on a wired internet connection if you can, WiFi will be a bit slower. Let the images download. You can verify them with the checksum if you want, the file just below the OS image, but I'm not going to cover that here. Now on a Windows box, you're going to want to unzip the image file so that you have a full uncompressed copy of it. Both files will use up about 6GB of hard drive space. You can delete the uncompressed file once you are done with it to save space. On a Mac I recommend doing the same, if you have trouble unzipping the image I would recommend getting The Unarchiver. It's free and works great. By far the best solution for unzipping hundreds of ROMs at once believe me. You will have to navigate to the uncompressed image on the Mac as well.

Make sure to double and triple check your drive letters! You don't want to inadvertently ruin one of your drives or USB keys or whatever you might have plugged into your computer.

Figure 3
Figure 3

Figure 4
Figure 4

Let the image writer do its job. This can take a few minutes, go grab a coffee, or a beer if its 10AM. Note that the OS images are not interchangeable you must use the C1+ base image for your C1+ device and the C2 base image for your C2 device. One thing to note is ignore any prompts to format the SD card from either OSX or Windows. When you're done you should see a drive called "boot" where the original blank SD card was. Eject it properly and pop it into your your C1+ or C2, whichever you are working with.

If you're working with an ODROID-C1+ and you are planning to work on a computer display it may not be able to handle the default HDMI output. It is a good idea to change the video output before we proceed. In that case put the SD card back in your computer and open the boot partition. Find the boot.ini file and make a copy of it called boot.ini.orig.old. Edit the original boot.ini file and make sure that the only uncommented output mode is setenv m "1024x768p60hz", next scroll down a little further until you see the video signal section and make sure that only setenv vout "vga" is uncommented. Make sure you use a text editor that is correct for the job, Pluma, nano, vi on Linux and OSX, you could also try the native OSX text editor. On Windows Word Pad should do the trick. I've also found that Atom works well on my Mac. If your hardware is OK, you should see a blue light when the SD card is plugged in and the device is turned on. You should see a login prompt after a few seconds, C1+ times are a bit slower. If not you may have a problem with either the SD card or the hardware. I've worked with at least 6 of these things and soldered them ... poorly ... and they've all booted up no problem. The username and password for your device is odroid. Write it down somewhere in case you forget.

If you don't see anything but a blank screen, or you see a login prompt but after logging in see nothing but a blank screen then restore the original boot.ini, if you are working with a C1+, and prepare to work in front of the TV. Double check your boot.ini is reset back to the original and see if you can get to the MATE desktop using this approach. Note that this device isn't being configured as a secure Linux box. Although you can do that if you want we won't cover it here.

Figure 5
Figure 5

Software Updates, Partition Sizes, and More

First, let's get rid of that pesky login prompt. If your device has USB trouble on boot up just power cycle it. I would say though to use the software control buttons once things are all setup and never use the hardware power button unless you are turning it back on again. For the remainder of the tutorial we expect that you'll have a keyboard and mouse hooked up to the device. If you go to the following menu location Applications -> System Tools -> MATE Terminal it will open up a terminal window for you.

Figure 6
Figure 6

We're going to run a series of commands at the terminal now, listed below.. Some do take a while to run but you may have to sit near the screen in case you're prompted by an install. It stinks coming back to a process you thought would finish by itself and see a dialog popped up asking for your input! What we are doing here is setting up auto login, updating Ubuntu, and installing some packages.

Type this command or copy and paste it into the terminal window.

$ sudo nano /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
You'll be prompted for the password, use “odroid”. You will see some text like this in the file:
[Seat:*]
greeter-session=lightdm-gtk-greeter
You're going to add a line at the bottom, autologin-user=odroid, and then save and close the file. Press Crtl+O then hit enter to save the file. Press Ctrl+X then press enter to exit the editor. You won't be prompted to login on the next reboot.

Next up we'll be running updates on the OS packages and installing a few things. This part takes a little while but for the most part it runs by itself. Enter in and run each of these commands in the order shown below from the terminal window.

$ sudo apt-get update -y
If you get a boot.ini prompt for this, command just hit Enter. This command takes a little while.
$ sudo apt-get upgrade -y
$ sudo apt-get install git -y
$ sudo apt-get install gparted -y
$ sudo apt-get install make -y
$ sudo apt-get install cmake -y
$ sudo apt-get autoremove -y
Now that all of that is done running, the system is starting to shape up a bit. The next thing we want to do is turn off any swap space the OS is using. The conventional wisdom is that swap partitions will degrade the SD card which I think are rated for some number of read/write operations before they begin to fail. So far I've been disabling them without a noticeable performance hit. Run the following command at the terminal.
$ swapon -s
If you see output similar to the following, you have zram enabled. Follow the steps below to turn it off and remove it.
odroid@odroid64:~$ swapon -s
Filename Type Size Used Priority
/dev/zram0 partition 219824 2080 5
/dev/zram1 partition 219824 2076 5
/dev/zram2 partition 219824 2076 5
/dev/zram3 partition 219824 2076 5
We want to disable these to make sure our SD card lasts as long as it can. Whatever performance increase, or decrease, they cause hasn't been noticeable by me but I don't want the extra read/write operations. So let's run the following command. I believe that the C1+ I does not have a swap partition by default.
$ sudo apt-get remove --purge zram-config -y
If you notice a standard swap partition listed, type the following command to remove standard swap partitions:
$ swapoff -a
This will immediately disable swap on the system. Next remove any swap entries from /etc/fstab by editing the file as root and commenting out any swap partition entries. Reboot the system. If, for some reason, the swap partition is still there open gparted, System -> Administration -> GParted. Locate the partition in the list of active partitions and unmount, then delete the partition.

Next, we're going to run a MATE software update by navigating to System -> Administration -> Software Update in the menu system. Note that if you are asked to perform a partial update then skip this step we'll run with the packages we have installed. I've noticed that in some cases the packages can get a little wonky. I would only proceed with an update if no Partial Update dialog pops up.

If it is not a partial update prompt, click the Update button, wait a little while it slowly turns into a progress bar dialog and perform the updates. At the end of the process you will be prompted to restart the system. Hit Restart.

Figure 7
Figure 7

Notice the no-login prompt when the system started up. Looking more and more like a retro gaming console by the minute. Ok last thing we're going to do is resize the main partition to use all the available space. If you go to System -> Administration -> GParted in the menu system you should see something like what's depicted below. Notice that there is something like 50GB of unused space. If you have little to no unused space but still have room on the SD card you need to resize your root partition.

Figure 8
Figure 8

I'll give you a quick rundown of the process. Note that you may not need to do this, but you should double check anyway. The best way to work with an ext4 file system is on our C1+ or C2. Use the second SD card that comes with the recommended purchase listed on the hardware build. Write the base OS image onto the SD like we did above and install gparted, also like we did above. You don't have to run all the updates and stuff just make sure gparted is installed. Use the SD to USB adapter listed above to mount the SD card that we want to resize partitions for onto the OS. You should see a little drive icon appear, we'll call this SD-USB for SD to USB.

Fire up the bare bones Ubuntu SD card if you haven't already. Start gparted from the menu System -> Administration -> GParted and select the SD-USB card attached not the root file system running Ubuntu.

Figure 9
Figure 9

Select the root file system on the SD-USB card. Right click on it and go to the resize option if you get an error you may need to unmount this partition and then try to resize it. You can visually resize the partition now by dragging the arrow all the way to the right or by setting the fields contained in the form to have 0 free space following. Bam! We're done with this section.

Figure 10
Figure 10

Retroarch and Antimicro Installation

Now, let's get Retroarch and Antimicro installed so we can begin the configuration process. To install Retroarch we need to open a terminal, Applications -> System Tools -> MATE Terminal.

$ sudo add-apt-repository ppa:libretro/stable && sudo apt-get update -y && sudo apt-get install retroarch* libretro-* -y
Try the command above on the C1+ and C2, hit enter if prompted, and Y if prompted. If it fails don't worry. I noticed it fails on the C2 but I'm not sure about the C1+ no worries though the *'s in the package lists are the culprit. It's pulling down some packages that have dependency issues and that is then halting the whole command. If it failed try running this command instead.
$ sudo apt-get install retroarch retroarch-assets retroarch-dbg libretro-beetle-lynx libretro-genesisplusgx libretro-handy libretro-4do libretro-bsnes-mercury-performance libretro-bsnes-mercury-accuracy libretro-bsnes-performance libretro-beetle-wswan libretro-dinothawr libretro-beetle-ngp libretro-bsnes-balanced libretro-gambatte libretro-fbalpha2012 libretro-fba libretro-beetle-psx libretro-vba-next libretro-gw libretro-mupen64plus libretro-beetle-sgx libretro-2048 libretro-tyrquake libretro-beetle-pcfx libretro-prosystem libretro-bsnes-accuracy libretro-parallel-n64 libretro-picodrive libretro-mame libretro-nestopia libretro-mednafen-psx libretro-core-info libretro-gpsp libretro-mess libretro-beetle-pce-fast libretro-mgba libretro-fbalpha2012-neogeo libretro-fba-neogeo libretro-beetle-vb libretro-tgbdual libretro-fba-cps1 libretro-fba-cps2 libretro-fmsx libretro-stella libretro-yabause libretro-mess2014 libretro-mess2016 libretro-desmume libretro-beetle-bsnes libretro-glupen64 libretro-catsfc libretro-quicknes libretro-bsnes-mercury-balanced libretro-vbam libretro-bluemsx libretro-fceumm libretro-nxengine libretro-snes9x-next libretro-mame2014 libretro-mame2016 libretro-fbalpha2012-cps1 libretro-fbalpha2012-cps2 libretro-fbalpha2012-cps3 libretro-fbalpha libretro-snes9x libretro-prboom libretro-beetle-gba -y
If one of these packages fail, remove it from the list and try again. The command above is the exact command I use on my C2's. After that's done let's do a little updating and cleaning.
$ sudo apt-get update -y
$ sudo apt-get upgrade -y
$ sudo apt-get autoremove -y
Now you should have this menu option available after the commands are done running, Applications -> Games -> Retroarch. Click on it and you should see something similar to what's depicted below.

Figure 11
Figure 11

We're almost there! Don't mess with Retroarch yet; we'll come back to it. Next we have to get Cntimicro installed so we can control everything with a gamepad when Retroarch isn't running. Go to https://github.com/AntiMicro/antimicro/releases and download the latest release as a zip file. You should see it below the Windows EXE entries. Once it is done downloading open the odroid home folder. There is a link on the desktop for it. Create a new folder called install_zips as depicted below.

Figure 12
Figure 12

Now go to the downloads folder and copy the Antimicro zip file from there and paste into the install_zips folder. Right click on it and select Extract Here. Wait for it to uncompress.

Figure 13
Figure 13

Now open up a terminal, Applications -> System Tools -> MATE Terminal, and run the following commands. If your Antimicro folder, after decompressing the original zip archive, has a different name use that name in the change directory command below.

$ cd install_zips/antimicro-2.23/
$ sudo apt-get install libsdl2-dev -y
$ sudo apt-get install qttools5-dev -y
$ sudo apt-get install qttools5-dev-tools -y
$ sudo apt-get install libxtst-dev -y
Once all those packages are installed we can compile Antimicro without any errors:
$ cmake .
$ sudo make
$ sudo make install
You should see something like Figure 14 following during this process. Once that's done let's test Antimicro, run Antimicro at the terminal. If everything is ok you should see something like what is depicted in Figure 15.

Figure 14
Figure 14

Figure 15
Figure 15

Plug in a game controller that is supported by Linux. Hardkernel has the best price I've seen so if you pick up some ODROID-GOs or other hardware grab one of these GameSir Wired Controllers. Fire up Retroarch (Applications -> Games -> RetroArch), and you should see large yellow text flash across the bottom of the screen, look closely. I've had some versions of the controller act a bit weird but I've been working with about 5 of them and for the most part I've had no problems. Close Retroarch, and type into the terminal window the antimicro command. You should see something similar to what's depicted below if the controller is detected properly.

Figure 16
Figure 16

Retroarch and Antimicro Configuration

Let's get Antimicro configured so we can start controlling the desktop environment with the gamepad. Open up a terminal, I'll not list the menu path for it from this point forward. Type Antimicro in the terminal and wait for the app to launch. Connect your Linux-supported controller and make sure that Antimicro recognizes it. If it doesn't, you'll need to try another controller. Click the Controller Mapping button on the bottom left hand corner of the UI. This is where you tell Antimicro about the base functionality of your controller. If you don't have a button for a specific position in the list, for instance Linux seems to ignore the blue central button on the GameSir controllers, use your mouse to click down to the next viable option. Match up the buttons on the gamepad with the controller graphic's green button indicator. Note that some buttons like triggers fire multiple times, and you'll have to use the mouse to back up the position of the mapping and fix the double entry. Click save when you are done and return to the main Antimicro UI.

Figure 17
Figure 17

You will see a new mapping on the main Antimicro UI that contains buttons for all the new mappings you just made. What we are going to do here is setup mouse support so that you can control the desktop environment from the gamepad when Retroarch isn't running. We'll use the left thumbstick for fine, slower, mouse control and the right thumbstick for faster mouse control. The A and B buttons will serve as the left and right mouse buttons. Right click on the left thumbstick area and select mouse normal from the option list.

Figure 18
Figure 18

Click on the left thumbstick buttons again and find the Mouse Settings button at the bottom of the window. The image above shows the button we're looking for. In the mouse settings window set the Horizontal Speed and Vertical Speed to 10 for the left thumbstick as depicted in Figure 19.

Figure 19
Figure 19

Do the same thing for the right thumbstick except now set the Horizontal Speed and Vertical Speed to 30 as shown in Figure 20.

Figure 20
Figure 20

Now let's map the mouse buttons. Close all dialogs and get back to the main Antimicro UI. Find the A button in the button list below the thumbstick and dpad listing. Click on it then click on the Mouse tab. Select the left mouse button. Do the same thing for the B button except choose the right mouse button for that mapping. Below is a screen shot depicting the left mouse button mapping in action.

Figure 21
Figure 21

Figure 22
Figure 22

Take it for a spin while the main Antimicro UI is open. You should see the mouse move around the screen as the button listings in the Antimicro UI turn blue to indicate they are active. See how it feels, adjust the speeds on the mouse controls as you see fit.

Figure 23
Figure 23

When you're all set, go back to the Antimicro main UI and click the Save As button at the top right hand side of the screen. Save the controller configuration as game_sir_wired.xml or whatever you want to name your controller in the odroid home directory as shown below. I'll provide a copy of my XML file here if you are using a GameSir controller, so you can just use it and save some time. If you are using an Easy SMX controller, use this file.

Figure 24
Figure 24

Click on Options -> Settings in the Antimicro menu and make sure only Close To Tray and Launch In Tray are checked. This will ensure Antimicro lives in the app tray and doesn't clutter up our screen. We have one more setting to adjust and then we'll be done with Antimicro and on to Retroarch!

Figure 25
Figure 25

While still on the Antimicro setting window, click on the Auto Profile option on the left. This will determine what profile will automatically be associated with the attached gamepad. You only get one mapping. It would be cool if it had different options for different hardware, but as far as I can tell you're setting it up for the controller you have. Click the Active checkbox at the top of the window. Then select the default (and only) row in the table. Click the Edit button and browse to the controller mapping XML file you saved just a few steps back. Click Ok then quit out of Antimicro, if it appears in the system try click the controller icon in the system tray and quit the app. Now we are done with the Antimicro configuration!

Figure 26
Figure 26

Figure 27
Figure 27

Figure 28
Figure 28

Next up let's get the Retroarch completed. Fire up Retroarch from the menu system. First, let's get the gamepad working in Retroarch. In Retroarch you can use the keyboard arrow keys, enter, and backspace to navigate the menu system without the gamepad. Make sure you have a mouse, keyboard, and game controller connected to your ODROID. Use the arrows on the keyboard to navigate right to the Settings section, then move down to the Input section as shown below.

Figure 29
Figure 29

Adjust the settings on this screen as you see below. I usually set the max number of controllers to 4 since there are 4 USB ports. And I like the "L1 + R1 + Start + Select" Menu Toggle Gamepad Combo setting, let's face it if you're accidentally hitting this combination during game play something isn’t right. Leave the remaining settings and scroll down to the User 1 Binds. You'll have to setup each user input in this way it's not too bad only takes a minute. Tip: Map the A and B buttons by name not position if you are using a GameSir controller that way the colors green and red map to positive/select, negative/back button usage. It's just what I like to do you can map em anyway you like! Or you can set the Menu Swap OK & Cancel Buttons, whatever works.

Figure 30
Figure 30

Figure 31
Figure 31

The next step takes a little while but requires very little work on your part. You just have to click on a few things and wait for them to complete. Navigate back to the Main Menu which is the first section Retroarch starts on. Make sure you are connected to the Internet. Scroll down to the Content Updater and open that section.

Figure 32
Figure 32

I usually run each option in order. Try the Core Updater option first. Tip: You may have to start Retroarch from the terminal like so sudo Retroarch when updating core files. If you run Retroarch with a -v for verbose output and you see an error message during the Core Update command's execution then you should close Retroarch and relaunch it with the sudo command.

Next go to the Thumbnails Updater, this part can take a while, and select each system you plan to load ROMs from one at a time. Resist the urge to click a bunch in a row. I've done that and it can crash the app at the worst and at the least it slows down each individual process as they are all competing for resources. Best to let one blast through then move on. Tip: There are some one-off games you can get thumbnails for here like DOOM Demo, Cave Story, and Dinothawr. You'll be able to load those games from the Content Downloader.

Figure 33
Figure 33

Now, you'll want to back out of the Thumbnail Updater section with the backspace key. Scroll down to the Content Downloader and download any special content you want from the listing. Tip: If you see a screen that has no options wait a minute back out and go into that section again it just didn't finish downloading the index of available options. I usually don't install the one-off games but this is the spot for it. Most of the content I think you can safely ignore but I'll leave that up to you. Run the following list of other updates one at a time, basically everything remaining on the list.

  • Update Core Info Files
  • Update Assets
  • Update Joypad Profiles
  • Update Cheats
  • Update Databases
  • Update Overlays
  • Update GLSL Shaders
  • Update Slang Shaders

Close Retroarch when the update steps are complete. Next, let's load some ROMs. I own a copy of Contra for the NES and I have a version of it in ROM form. Open the odroid home folder using the link on the desktop. Right click in the folder and create a new directory, name it ROMS. Open the ROMS folder and create a new folder and name it NES. Obviously you would substitute the NES folder for whatever system you intend to load ROMs for. Not every single system is supported and some emulators have little caveats like bios files that need to be copied in etc. Many of the older systems are well supported and straight forward. The C1+ can probably handle SNES and Genesis but I just like to use it for 8bit games. The C2 certainly has enough power for 16bit systems and I like to use it for 8bit, 16bit, and all of the handheld systems

Figure 34
Figure 34

Once you have all your ROMs placed in the ROMS folder in their own separate folders for each system, this is the best way to do it, we can start telling Retroarch about the files. Fire up Retroarch and scroll to the right until you see the Scan Directory option.

Figure 35
Figure 35

Navigate to the ROMS folder, which should be in the list. Then select one system at a time for scanning. Scanning large ROM sets can take a while. Again resist the urge to start multiple scans things will go smoother if you let an operation complete before starting a new one. In this case we only have one ROM, Contra, so it will complete the scan instantly.

Figure 36
Figure 36

Back out of the Scan Directory section and you should now see a little NES controller on the section listing. Scroll to it and now you should see Contra, or whatever ROMS you were trying to load. Load up a game by selecting it and then selecting a target emulator. Your game should load up just fine in almost all cases.

Figure 37
Figure 37

Figure 38
Figure 38

Figure 39
Figure 39

Retroarch won't recognize every single ROM for every single system. You may also want to try different emulators on troublesome ROMs. That's more advanced stuff and I'll cover that in the next tutorial where we wrap everything up and put a nice bow on it. Congrats you built the hardware and now you configured the software and you can play some games. Take your time loading up ROMs I'll write up the last little bit in tutorial 3 where we really make your game console pop! For comments, questions and suggestions, please visit the original article at http://middlemind.com/tutorials/odroid_go/mr1_build_sw.html.

Be the first to comment

Leave a Reply