"


Disclaimer

This process is really safe if it is done following carefully the instructions, however we are not responsible for any damage you may cause to  your Capcom Home Arcade (CHA) because of your actions. Use the software at your own risk and under your responsibility.

The Choko Team Does not support any kind of piracy. This is a Proof of Concept.  Use the software just with the game roms you legally own.


Requirements

  • CHA - Official firmware v1.6 is recommended (although it is compatible with all previous versions).
  • USB drive formatted to FAT32/EXT2/EXT3/EXT4
  • Male - Male USB Type A cable.
  • Latest Zadig Universal Drivers.
  • Choko Hack Pack from the GitHub.
  • If you already have a previous version installed, you can use the updater included in the pack. Extract CHA_MOD from the update file to an USB pendisk and insert in the CHA, then turn it on (don't forget to backup any CHA_MOD folder that you already have in the USB pendisk).


  • Those with a micro SD card reader that have the system installed in a micro SD card don't need the USB cable and don't have to install zadig drivers. Just put the SD card in the PC card reader and skip to the section "Installing scripts to enable USB EXT loading".


Previous software install and USB preparation


1. Download and install latest Zadig Universal Drivers. Note: If you already installed this drivers or have previously modded a NES Mini / SNES Mini / MD Mini... you may skip this part of the process.

#


2. Zdiag should be open when connecting your CHA to the PC for the very first time in order to detect the new "unknown device"...

Zadig software when you pick the correct USB Device, ready to install the USB Drivers

3. Select the "unknown device", confirm the USB ID and click "Install Driver". If your device isn´t listed, go to options and click "List All Devices".

Zadig.png


4. Download the latest Choko Hack Pack and decompress the file to any folder in your PC hard drive. Inside the created folder you'll have four sub folders,  "CHA_FEL_MODE", "FILES_TO_COPY_TO_CHA_DRIVE", "Extras" and "Updater for USB".


Opening the CHA device: Putting CHA into FEL Mode

NOTE: This method requires that you open the device just once (actually, every time you want to use FEL MODE for backups/restores). Some files will be installed so that you have access to the device with the Game Manager via USB / FTP and SSH by Putty or other clients, and it is not necessary to open it again.

  1. Place CHA upside down on a smooth surface not to scratch the CHA Plate and remove the 10 screws (4 + 6 under the rubber pads; if you don't have replacement rubber pads, remove them carefull to glue them back again).
    CHA FEL BUTTON 01.jpg

  2. Now put your CHA in FEL mode.
  3. Then, go to the CHA_FEL_MODE folder (extracted from CHOKO HACK PACKAGE SOFTWARE) and run 'start.bat' (if you are using Windows) or start.sh (if you are using Linux). Press <Enter> when it asks for it.
    start.bat/start.sh success message

  4. Once you've run that, TWO new drive UNITS will appear if you are using LINUX, or ONE UNIT if you are using WINDOWS. These are partitions in the internal storage eMMC of the CHA. If you haven't made a full system backup before, now it's a good time to do it. If it doesn't show up, go to Disk Manager and add a letter to the first partition of the CHA.


Installing scripts to enable USB EXT loading


1. Copy the three files from this new unit (boot.scr, sun8i-h3-orangepi-pc.dtb and  zImage)  to a backup folder ii you don't have a full system backup (why don't you?). Keep them safe as they are the backup of your 10 mb FAT32 partition.

2. Delete all files with ".old" extension, if they exist.

3. Copy the files in the 'FILES_TO_COPY_TO_CHA_DRIVE' folder (hackinstall.sh, hackinstall.tar.gz, boot.scr, original.boot.scr and uIntitrd-CHA-MOD) to the new drive, overwriting if necessary. If you have made a previous install, it is possible that an instance of uInitrd-CHA_MOD is already there and can say there is not enough free space to copy. In this case, remove the one already present and copy the new one.

The CHA eMMC drive with Mod files should contain the boot file, sun8i-h3-orangepi-pc.dtb, uIntrd-CHA_Mod and the zImage file


4. In Windows, do "Safe Remove - Eject" or, if in Linux, unmount both drives. It will identified as a ALLWINNER device.

5. Power off the CHA and put the screws back in place.

6. The next time you power on the CHA it will install the necessary files to be able to load games from USB pendisk. You should see a confirmation message and it will automatically reboot.


Now you'll see, at every boot, three lines informing about the key combos for safe poweroff, safe reboot and change settings, followed by a small countdown while searching for any USB pendrive. When we start the CHA without the USB drive inserted, it will boot the original firmware with the 16 official games.

Video Guide


Thanks to @pedator for this great video guide!

(Note: this video was made for version 9.2, but still may help to follow the process as the steps are the same.)


Safe Power Off / Safe Reboot

Choko Hack implements safely power off (added in v10) and safely reboot (added in v11) the CHA to avoid corruption of the USB pendrive!

Just press and hold [P1 Insert] + [P1 D] + [P2 Insert] + [P2 D], the 4 buttons marked purple in the picture bellow, or [P1 Start] + [P1 D] + [P2 Start] + [P2 D], the 4 buttons marked green:


You should always use this methods, even if not loading games from USB. Corruption of files related to the menu will very likely happen if you don't.

Settings

With Choko Hack v12.0.0 we can change three settings, pressing [P1 Start] + [P2 Start] while the system waits for USB at start:

  • Number of seconds to look for USB drive (0-99)

Some drives need more time to be ready than others, you can adjust the time here. Joystick UP or DOWN jumps 1 second and Joystick LEFT or RIGHT jumps 5 seconds. Default timeout is 5 seconds.

  • Number of seconds to wait for user selection when a menu is displayed (0-99)

Selecting 0 (zero) will disable the automatic selection. Any other value will boot the system with the first menu option if there is no user input by the end of countdown. Default timeout is 5 seconds.

  • Screen resolution

By default the CHA automatically sets the screen resolution to 1080p or 720p to match the TV best resolution, but with 1080p the Choko Menu can be difficult to read. Here we can force the CHA to use 720p, and that will result in easier to read menu.

Settings.gif


Loading Games from USB

With Choko Hack v10 a new structure was adopted, to allow assigning lists of games to the buttons of the CHA. With v11 we had freedom to load Choko Hack from any folder in USB (no more CHA_MOD). And now with Choko Hack v12 the roms with folders can have any name and we navigate the menu using the joystick.

Game Manager was updated, but it's still in alpha stage. It supports v12's new structure and seems to be working very well, but expect some features needing improvement.

Now you want to download the Automatic Lists pack, put some ROMs and play! There you will find video guides and detailed instructions to add games to the CHA.

NOTE: For larger USB drives in Windows, if you want to use FAT32 format (others are not accessible via Windows) you can use a free Windows tool like, for example, "Fat32 GUI Formatter" or "MiniAide Fat 32 Formatter". For Linux do the same process with the suitable software.

The quality of the pendrive may impact the performance when loading menu, loading games, or even fail to be detected. USB3 pendrive is recommended.


Technical details for those who wants to know how the hack (and the CHA) works



Each games list must follow the next structure:

  • the base folder, with roms, assets, patches and other files (like usb_exec.sh), can have any name but must be in the root of pendrive.
  • the ROMs must go under a folder inside 'roms' ('roms/My Favorite Arcade Games', for example). We can have as many folders with ROMs as we wish.
  • the name of the folders with ROMs will be the titles for the lists to show in menu ('My Favorite Arcade Games', for example).
  • icons for the carousel go to 'assets/games'; There are thousands already included, but can be replaced or added.
  • (optional) carousel background music goes into 'assets/sounds/music/set2' (Remix);
  • (optional) buttons layout needs *.png files in two places, assets/options' and 'assets/options/large'.
  • (optional) folder with custom libretro core and other files must go into a folder with the same name as the ROMs folder, inside 'patches' ('patches/My Favorite Arcade Games', for example).
  • The files '*.txt' ('My Favorite Arcade Games.txt', for example) are the list of games to replace original 'games.txt'. They are created automatically, but they must follow the structure of original file:
A 2 Z 1996 spf2t.png spf2t.zip spf2t.ogg Super Puzzle Fighter 2 Turbo

1st - One letter corresponding to the button layout. Can be A|B|C|D|E.

2nd - One digit indicating the game system. 1 for CPS1 and 2 for CPS2. Any other digit will hide the System/Year/Genre info in carousel.

3rd - Game genre. Available options are B (beat'm up), F (fighting), P (platform), R (sports), S (shoot'm up), Z (puzzle).

4th - The year of the game.

5th - Icon file for the carousel.

6th - ROM file with the game.

7th - Music file for carousel.

8th and remaining line - The name of the game, usually not visible anywhere in carousel.


For non arcade games to work with FB Neo, the ROMs should be in some specific subfolders, inside the folder with ROMs.

Next you'll see one example for a megadrive game. The ROM goes to 'roms/My Favorite Arcade Games/megadrive', with icon and music also stored in subfolders for better organization (inside assets, browse there and look for the examples already included).

C 0 P 1994 megadrive/greatcirj.png megadrive/greatcirj.zip megadrive/greatcirj.ogg Great Circus Mystery - Mickey to Minnie Magical Adventure 2



EXTRAS

  • Install SSH and FTP servers to connect to the CHA (user root and password Choko). Just copy the folder 'SSH and FTP servers', that is inside the Extras folder, to the root of an USB drive and install from the Choko Menu.
  • There is also a 'Choko Hack uninstaller' - why would you? :) - just copy the folder to the root of an USB drive and run from the Choko Menu.


ENJOY YOUR CAPCOM HOME ARCADE AS MUCH AS WE DO!!!


Credits


Choko Team (in alphabetical Order).

  • Auriga
  • Campirulo
  • CHA_Fan
  • jj0
  • Kei_Dash
  • Pararegistros
  • Woises Kikex-Box


Supporters

  • Fast-Lifeguard
  • Haurayu Mifune
  • Megafriki
  • Thematho
  • Vick21

And many others of you at https://www.elotrolado.net  and  https://www.reddit.com/r/CapcomHomeArcade/

We thank you all.


THANKS:

  • And so much thanks to darkdev1!!! He was the pioneer who gave the first steps modding and exploring the potential of the CHA.
Community content is available under CC-BY-SA unless otherwise noted.