Review your favorite Linux distribution.
Go Back > Blogs > The Old Charvari
User Name


Rate this Entry

Hacking a Dingoo A320 in 2021

Posted 11-09-2021 at 08:16 AM by slackmensch
Updated 12-24-2021 at 07:19 AM by slackmensch (clarify obscure reference to Anime)

I recently bought one of these on eBay for about 20 USD. I quickly discovered that the built-in emulators were of poor quality. In fact, having bought a few super-cheap "Retro Game" knock-off consoles, the hideous PSP-inspired UI and solecisms of Engrish in the menus("3D Game" apparently means "native app" and "Interesting Game" means "emulator or rom".), this little 12-year-old console looked very annoyingly familiar.

So I started digging around and forums for CFW and instructions on how to get it installed. Basically, the plan emerged to (1) upgrade the native firmware to something that doesn't look like total crap, (2) set up the ability to dual boot OpenDingux, and (3) prepare a MiniSD card with OpenDingux software.

All three objectives were achieved, but things did not go as expected for any of them.

First, the manual (and dingoonity forums) says that placing a new firmware upgrade file (named a320.hxf) in the root directory of internal storage and starting up with the down-arrow pressed would trigger a firmware upgrade. It didn't. Nor did restarting using the (recessed) reset button. So I had to put the A320 into DFU mode (by holding down B at power on) and finding a Windows XP or 2000 computer to run the update utility to flash over USB. Luckily, I had an old Dell CPx laptop in the closet running win98, which I was able to upgrade to 2000 just to run the Dingoo firmware flasher. I chose something called the "Maetel"--a reference to Galaxy Express 999?--firmware to flash. This worked, but took about half an hour to complete. This fixed the horrible menus and backdrops. (Decent native emulators can be found at for just about any system EXCEPT GBA, for which there is only a broken, old version of GPSP. This is a dealbreaker for me. It can't play any of Gen 3 Pokemon games and their myriad homebrew spinoffs, because of their large 128kb save files. Yeah, you can patch the games to save to 64kb saves, but there's also no RTC which is needed for Ruby/Sapphire/Emerald.)

After this kerfuffle, I figured setting up dual boot would be a cakewalk. Nope. Found the dualboot instructions and software at, but the usbtool for linux(circa 2009) just could not detect the dingoo. Tried the Windows version and it was not seeing the dingoo either. Finally, about ready to give up, I decided to try the Mac OS X usbtool on my 2008 intel core 2 duo macbook which has been serving as my DVR for the last 5 years. (The astute reader will probably infer at this point that I am a junk tycoon. Nolo contendere.)

In Terminal do this, substituting the correct hwint and zImage based on your screen type (there were 3):

usbtool-osx 1 hwinit_ILI9325.bin 0x80000000
usbtool-osx 1 zImage_dual_boot_installer_ILI9325 0x80600000
It worked! Finally I was able to boot OpenDingux! Err...wait a sec... it seems to be taking a long time to start... 10 minutes later I conclude it is, in fact, stuck at the boot spash screen. Doh!

I skipped describing "preparing the MiniSD card" because I figured copying files to a storage card to be obvious and simple. I'd bought a new 32GB micro SD card, formatted it to FAT32, and copied over local/, rootfs.bin, and zImage.bin IN NO PARTICULAR ORDER. So, diving into the blather of dingoonity forums, I find out that fragmentation of the FAT32 filesystem stops the dingoo from reading rootfs.bin and zImage fast enough and it halts trying to boot. After formatting the card again, and copying zImage and rootfs.bin FIRST, then copying the local folder (full of gigs and gigs of emulators and games), the Dingoo finally gets past the Dingux splash screen.

If you decide to upgrade to a newer kernel (3.6 was the last, I think) or rootfs.bin, you don't necessarily have to reformat the miniSD card if opendingux no longer boots.

After copying the new kernel and root filesystem image to the card (overwriting the old ones), run this from the windows 2000/XP command prompt:

jkdefrag -a 5 d:\zImage d:\rootfs.bin
I'm assuming your miniSD card is drive d. You can get jkdefrag.exe v3.36 from the waybackmachine. This worked for me and saved some time since recopying 22 GB of games and emulators to my card would take over an hour.

Careful readers not from Asia might notice I keep saying "mini SD." This was a short-lived SD card between the sizes of micro and SD. You can get adapters in the usual places to make micro SD cards fit in mini SD devices. The only devices I have seen with mini SD slots are old Gameboy Advance flashcarts and the Dingoo. I have only tested micro SD cards up to 32GB in the Dingoo, which is about enough.


Wait, there's more! Err, kind of, um not really:

The development tools still work with modern Linux! Unfortunately, there isn't a whole lot to port since almost all the Retrogame/RS97/BittBoy software is ported from opendingux. Just as a test, I was able to compile a newer version of the Gambatte gameboy emulator for the Dingoo and it works. However, there are loads and loads of emulators and games for the Dingoo ready to run at, far more games and emulators than the latest few RetroGame-du-jour CFW has to offer.

"Slip them into different sleeves
buy both and feel deceived!"

--"Paint a Vulgar Picture" by The Smiths
Posted in Uncategorized
Views 953 Comments 1
« Prev     Main     Next »
Total Comments 1


  1. Old Comment
    oh my that's a lot
    Posted 11-10-2021 at 03:41 AM by hatersgottahate hatersgottahate is offline


All times are GMT -5. The time now is 06:17 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration