Dingoo A320 Guide

Introduction

Apr 25, 2010

To feed my retro video game habit I started looking into some of the mobile gaming devices available on the web. I still have some of the old consoles but they are getting a bit creaky and I wanted something that could travel easily. My laptop and phone were not viable gaming platform options as they are company issued. The IT department at my company is not to keen on anything non-work related being installed on either of those devices.

That left me looking for a small portable gaming device that I could carry around with me on trips. All of my favorite console systems date back to my teen/college years about 15 - 25 years ago which makes them ancient as far as electronics go. Old consoles like the  NES and SNES can be emulated pretty faithfully on many of the newer gaming hand-helds.















Hand-Held Gaming Device Web Research

My general requirements were something less than $200 which was small enough to take anywhere. Audio/Video out and other media player options were a bonus but not required. A basic web search turned up the following options as far as multi system emulation platforms go.

 Name CPU Data Memory
 Program Memory
 Price Notes
 GP2X Wiz


 533MHz ARM 9
 64 MB SDRAM
 1 GB Flash
 1 SDHC Slot
 $180 Better specs than the Dingoo but twice the price.
 Pandora


 600MHz OMAP3530
 256MB DDR333
 512MB Flash
 2 SDHC Slots
 $200The specs for this console look better than the other devices but it seems like it has been delayed several times and is not readily available. Also is bigger than I really wanted (has a full keyboard). There seems to be a big open source community behind it though so it will probably last.
 Dingoo A320


 336MHz Ingenic JZ4732
 32 MB
 4 GB Flash
 1 SDHC Slot
 $80Pretty good functionality out of the box, plus there is a Linux option and lots of community based emulators that run on the native operating system/firmware. This device is technically only available in China but there are lots of US resellers who sell English language versions.

I ended up buying the Dingoo A320. It seemed like it had the best price/performance point.

They Dingoo I have was ordered from www.4coolday.com. It was $82 plus shipping and arrived in about a week. However the guy that runs http://www.dingoo-digital-usa.com/ seem to contribute a lot to online help forums, plus I think he pre-updates the firmware on the Dingoos he sells. If I were to buy another Dingoo I would probably buy it from him.



The Dingoo A320


Out of the Box Functionality

The Dingoo emulates the GBA, NES, NeoGeo, SNES, CPS1 and CPS2 with the default software/firmware. The NES emulation has been great with all the games I have played so far. The SNES emulation is a little creakier. For example in Final Fantasy III the sounds is all screwed up.

Along with the game emulators the Dingoo plays music, video, e-books, and can view pictures. It also has a built in FM radio which I have not tried yet. Another neat feature is it has a TV out cable so you can play the games on a larger screen (which I also have not tried yet).

To play the games you all you need to do is to find some roms for one of the supported systems, then copy them to the Dingoo.The Dingoo will look like a standard USB drive once you plug it into your computer and you can copy the files by simply cutting and pasting into a directory.

It really doesn't matter where you put the roms on the Dingoo as long as the files have the correct extension (see table below). The Dingoo will recognize the files wherever they are.

To start up a game go to the main menu and select "Interesting Game" and then browse to where ever you put the rom files.  Highlight the rom file you want to play then hit the 'A' (go forward) button to start the game. The Dingoo comes with folders and a few sample games for each type of emulator.


Community Created Native Emulators

There seems to be a pretty good development community supporting the Dingoo. So far I have found several native emulators for other console systems (native meaning the stock factory operating system will recognize and run them). The primary user created emulator I was interested in was the GameBoy one, but there are lots of systems to pick from.

To use the user created emulators you simply need to download the sim file then copy it to the Dingoo. Typically the user created emulators should be placed along side the factory installed simulators in the games directory. Check the readme file that comes with the emulator for exact install instructions. The Dingoo will find the new sim file and launch the appropriate emulator based on the file type.

Also you may need to update the emulator software to get some of the community created emulators to work. For example the GameBoy emulator I tried out did not work until I updated to the emulator to a version modified to work with the "HK" version of the Dingoo (see the description below on updating software and firmware).

Finding Roms and Rom File Format

Downloading and playing game roms from the web is technically a violation of the license rights of the rom owner. I will not host any roms here but if you want to find someone who does its easy enough with a quick Google search. Be prepared for a very slow downloading experience if you go scavenging the web for roms. Most of the rom sites are heavily advertised. They make you click through several pages and wait for ads before you can finally download the file.

Most roms you will find on the web will be in zip files. The only roms that will play on the Dingoo A320 in zip format are the CPS1 roms. All the rest will have to extracted to their respective raw file format. Also some of the roms need to be converted via a utiltiy program before the Dingoo will recognize them.

If you copy files to the Dingo and they don't be seem to showing up in the browser window when you try to use it try the "Update Jukebox" option in the music sub group. I think this function basically reads through all the files in memory and re-indexes them.

A few notes when you go looking for roms. There is a standardization on the naming of rom files. The post fix letters give some basic indication of what type of rom file you are downloading. A quick web search will give you the basic definitions but here are few pointers:
  • [!] the exclamation point stands for a pure dump with no alterations.
  • [U] stands for the US version of the game
  • [E] stands for the European game
  • [h] stands for "hack" or altered version of the game
  • [f] stands for a fixed game
  • [p] is for pirated
I generally look for the [!] pure dump roms and stick with them.

Summary Dingoo Native Emulator List and Rom Details

All of the emulators I have found so far are summarized in the table below. This list includes the factory emulators for reference.

Remember if you have an "HK" Dingoo you will need the updated emulator files with the fix to make the user created emulators run (see the section on software and firmware updates below). I have read that the updated emulators for the HK also run on all the other versions of the Dingoo and actually run slightly faster than the originals. Rather than spending the time to find and download all the individual emulators I would just get the zip with all the updated emulators and use that.

 System SIM File
ROM File Extension
 Source Notes
 Atari 800
 Atari800.SIM  community
 based
 
 Atari 7800
 PrOOSystem.SIM a78 community
 based
 
 Atari Lynx
 (Lyngoo)
 LynGOO.SIM lnx community  basedYou will need to 'find' a copy of the lynxboot.img system boot image file and put it in the games folder with the sim file before you can play games.
 ColecoVision ColeCOO.SIM colcommunity based
Rename the rom files to col files and they should work.
 CPS1 CPS1.SIM zippre-installedThe CPS1 roms are the only ones that will work in zipped format.
 CPS2 CPS2.SIM CP2pre-installedFiles need to be converted via the CPS2conv.exe file.
 GameBoy
 GameBoy Color
 (gnuboy)
 GNUBOY.SIM gb
 gbc
community based
This was a port of gnuboy that somebody did.
 Game Boy Advanced GBA.SIM gba
pre-installed
One of the pre-installed demo games for this simulator is Final Fantasy III from the SNES which is awesome. I thought that maybe the Gameboy/Gameboy Color rom would work under this emulator but they don't. You will need to get the ported gnuboy emulator.
 NeoGeo  mvspre-installedThese zips also need to be converted via a utility program. The converter app requires the zip to be in its working directory.  Also I found different types of rom zips: some with a single file in the zip and some with multiple bin files in the zip. The converter requires the zips with the multiple bin files
 NeoGeo Pocket
  ngccommunity based 
 NES NES.SIM nespre-installed
So far the factory emulator for the NES has been perfect.
 PC Engine
 Turbo Grafix
 DOOENGINE.SIM pcecommunity based.
 Odyssey2 /
 Videopac+
 O2EM.SIM o2community based
Rename the rom files to o2 and they should work.
 Sega Master System
 Sega Game Gear
szSMS760sms.sim
szSMS760gg.sim
 sms
 gg
community basedI have not tried this one yet, heard there is no sounds and no full screen.
 Sega Mega Drive
 MD.SIM smdpre-installedThe bin roms need to be converted to smd via the SMD_BIN_WIN program. Some people have said just renaming them also works but the converter program is pretty easy to use.
 SNES SFC.SIM smcpre-installedThis emulator is not the greatest but it works ok for some games. I would assume that SFC stands for Super FamiCon, the Japanese version of the SNES.

Updating the Dingoo

Software


It turns out that some version of the Dingoo, specifically the versions with a serial number that ends in HK, have problems running community developed applications and simulators. Luckily somebody figured out how to fix this issue and created a zip file with all the commonly used emulators with the fix applied.

I made a backup of my Dingoo "Games" directory before I copied the updated version over just in case but the updated simulators worked great. There is a sound blip when some of the emulators fire up but other than that I have found no problems. Before I found the "fixed" version of the emulators whenever I tried to run a game the Dingoo would just lock up in the browser window and I would have to hit the reset button to get it going again.

If you are trying to identify if you have an HK version simply look for the imprinted serial number near the USB port connection and see if it ends in HK. Its not all that easy to see as the lettering is about a millimeter high.

Firmware

There are both "official" and community based firmware upgrades available. The process is pretty simple: download the file, copy it to the Dingoo root directory and then reboot the Dingoo. The unit will see the file and start the upgrade process. Make sure the battery is charged up before you start upgrading and don't interrupt the update while its in progress or you could corrupt the operating system. I think there is a way to recover if you do this but try to avoid interrupting the update process.

I updated to the CFW-1.20-pof.zip firmware. I had no problems with the update and thus far it has ran fine. The only thing I think updating bought me, besides some cosmetic changes, was the Y-X button fix. Evidently the stock Dingoo firmware will not allow both buttons to be pressed at the same. This is an issue for some games like Super Mario World on the SNES. You would be able to pick up a turtle shell and jump without letting it go automatically.

The Reset Button

When I first got the Dingoo and started tinkering it seems to lock up regularly. At first I was alarmed by the frequency of the lockups but after the first week I was numb to it. The lockups have become less frequent since I updated to the HK fixed emulator but don't be surprised if you experience a lock up or ten.

One source of lockups was that my desktop runs Windows7 64 bit and initially I found the normal "eject USB device" functionality did not seem to work for the Dingoo. Later I figured out that I should click on the "Eject USB Mass Storage Device" text rather than the individual "Removable Disk" text on the task bar sub menu.  Anyway, at first whenever I disconnected the device from my computer it would lock up and I would have to reset it. Also if there was any problem with a particular emulator or rom I was trying out the default action for the Dingoo seemed to be to lock up. Once you start putting native emulators and other community apps on the device plan on frequent resets until you know which programs are stable.

Dingoo Versions

There seem to be several versions of the Dingoo floating around on the market. They all look the same and have the same functionality but some seem to be lower quality and some have compatibility issues with the community developed emulators.

In general the particular Dingoo hardware version you want to avoid is the HK version. HK versions can be identified by looking at the serial number etched on the Dingoo near the USB port. HK versions end in the letters HK. From reading on the web the early HK versions had quality issues and all HK versions seem to have compatibility issues with the community developed emulators.

That being said the Dingoo I have is an HK version. It did have the compatibility issues, which there is a work around for. As far as quality issues I have dropped mine rather violently three times so far and it keeps on ticking.

Dingux (Dingoo Linux)

There is a community based port of Linux for the Dingoo A320 named Dingux. If you have a spare mini SD card (or micro SD card with a mini adapter) you can create an image to make your Dingoo dual boot between the native operating system and Dingux. Once you have Dinux installed there are more emulator options available such as SNES9X and Stella, the Atari2600 emulator, and several shareware games like Doom and Hexen that have been ported to Linux.

Dingoo Dual Boot Installer


Step one in getting Dingux up and running is to install the dual boot firmware loader. There is a How To Install Dingux Guide floating around on the web that I basically followed. It's setup like a "Complete Idiots Guide..." and all the basic instructions are there but it is somewhat out of date:
  1. Find the files you need - dual boot installer (I used dual_boot_installer_20090628.zip) and Dingux file system (I used local_pack_0.34_2k10_beta1.7z)
  2. Figure out which LCD you Dingoo has via the instructions in the guide. If its not the ILI9325 or ILI9331 you are probably out of luck as far as installing Dinux. Odds are you will have the ILI9331 display if you bought your Dingoo recently.
  3. Put the Dingoo in USB mode (reset while holding B) and plug it in. The display will go blank.
  4. Manually install the JZ4740 USB Tool driver and run the commands in the install guide.
  5. Click through the flash script on the Dingoo which should appear automatically after the updates via the USB Tool.
There are few issue I ran into while I tried this with my Dingoo.

Windows 7 Driver Signing

In the install instructions you will be asked put the Dingoo in USB mode by resetting with the B button held then plug it into your computer. Windows 7 will not recognized the device and the USB driver install will simply fail. To install the driver you can navigate to the device manager via the control panel and manually update the driver. When you try to manually update the driver in Windows 7 it will inform you the JZ4740 Dingoo driver is not digitally signed and Windows will refuse to install it.

To work around the unsigned driver issues this there are a few options not all of which are supported under Windows 7 Home Premium 64 Bit. The easiest option I found is to reboot then hit F8 repeatedly during the windows boot up screen. This will bring up a menu were you can load windows with the driver signing disabled. You will need to disable the drivers on bootup each time you wish to connect to the Dingoo via the USB tool.

Updated hwinit.bin Version for Newer Dingoos

The next issue that I ran into occurred while trying to follow the USB tool commands. Specifically the commands:
  1. usbtool-win 1 hwinit.bin 0x80000000
  2. usbtool-win 1 zImage_dual_boot_installer_ILI9331 0x80600000

After you run these commands the Dingoo is supposed to show you the flash script screen.  When I ran these commands the display just remained blank. It turns out that the hwinit.bin file is out of date for some of the newer Dingoos. After a bit of searching on the web I found an updated file for step one hwinit_2_9331.bin. The new commands were as follows:
  1. usbtool-win 1 hwinit_2_9331.bin 0x80000000
  2. usbtool-win 1 zImage_dual_boot_installer_ILI9331 0x80600000
Note the the ILI9331 text would be replaced by ILI9325 if your Dingo has the alternate LCD display. Once I used the updated file the LCD came to life after the above commands were run.

Dingux Image File

There seem to be several different Dingux images from alternate developers. I found the most popular ones were from Toddler and Warpflash. I used the latest local zip from Toddler which seemed to work well enough. This file is in 7z format. I downloaded and used 7-zip to extract the files.

The guide will tell you to install the SD flash card in your Dingoo, reformat, and copy the files. Additionally the instructions say to use FAT32 when you format the card but they do not mention what the allocation size should be. Dingux seems to run with any allocation size but I looked around on the web and it seems like the native firmware will not recognized a memory card formatted with 32kb allocation size. 4kb seems to be recognized however. I wanted the native operating system to recognize the card so I could play music files on the memory card while using the native firmware. There are reports of Dingux running faster with a 32kb allocation size so you might want to consider sticking with the larger size.

After copying over the image files to the SD memory card you will find two zImage... files in the top level directory. Rename the one for your specific LCD to just zImage. To boot into Dingux hold the select button while you reset the Dingoo. If it all worked you should see Linux fire up and then an application manager launch. To play games you will need to copy over some roms while the unit is plugged into your PC as the Dingux images don't come with roms.

Using Dingux

Dingux Game File Locations

The mame roms for the classic arcade games (Pacman, Donkey Kong, Dig Dug, etc...) should be placed in \local\emulators\mame4all\Roms.

The Super Nintendo roms go into \local\games\snes\. You may need to create this folder as it was not in the image I installed. You can put these roms anywhere in the file system and browes to them but this seemed like a good place.

I the doom wad files go into \local\ports\prboom\. You will need to get the wads from a retail copy of the game if you want the full versions but the shareware Doom I wad is available all over the web. Version 1.9 is the most up to date version.

ScummVM (DOS Virtual Machine)

One of the ports installed in the version of Dingux I put on my Dingo was ScummVM. What ScummVM does is replace the executables of a bunch of old PC games with a new version that can run on multiple platforms (such as the Dingoo). The updated executable uses the original game data files to run the games.

The result is you can play classics like Sierra's King Quest series and other golden oldies on your Dingoo. I tried out King Quest I and realized I had forgotten how hard and unforgiving those games were compared to modern standards.



Comments