Hakchi

Hakchi is a series of scripts and modifications, based on the Linux kernel 3.4 for armv71 machines, to the SNES Classic, and other systems. It is developed by MadMonkey.

If the SNES Classic is using hakchi, when turned on normally (non-FEL mode) and connected to a Windows computer, the SNES Classic will be recognized as a network adapter called Samsung Classic or classic (depending on the RNDIS driver being used by the computer).

Folders structure overview
Hakchi works by what is called "overmounting". That means that a folder will be seen by the system as another folder ?. So a writable folder can be seen as a read-only folder ?.

is the location of the writable partition. The system will see the contents of  as if they were in.

Shell scripts
Shell scripts are similar to hakchi modules in that they add aditinal features. However shell scripts are added as games, occupy the same space as a game on the SNES Classic game's menu, and are loaded the same way as a game is.

Easy Overclock
Developed by BsLeNuL, allow for the increase of the SNES Classic processor. It also shows the current temperature (in both Celsius and Farenheit degress) os the SNES Classic processor.

Retroarch Settings Apps
Developed by BsLeNuL. It is a collection of shell scripts, focused on Retroarch. There hasn't been updated since 2018, and is not compatible with current versions of Retroarch Extreme.

Transfer folder method
It tranfers folders and files from an USB flash drive to /var/lib/hakchi/rootfs on the SNES Classic (?)

The transfer folder method is useful to install hmods without the need to connect the SNES Classic to Hakchi2 CE. It needs that the user uses an OTG adapter and an USB flash drive.

Create a folder called hakchi inside the root of the USB flash drive. Inside this folder, create another folder called transfer. Put the desired hmods (or bios files?) inside the tranfer folder, while not exceding a total of 60 MiB of files per each transfer process. Plug the USB flash drive to the SNES Classic through an OTG adapter or hub. Power on the SNES Classic, and the hmods will be installed, and the tranfer folder deleted.

To uninstall hakchi modules through the transfer folder method, create a file named  inside the   folder. With a text editor that can leave a UNIX end of line style (like Notepad++), write on the uninstall file the name, without extensions, of the hakchi modules files to be uninstalled, 1 per line. The names of the hmod files can be senn on the  file inside the   folder on the USB flash drive. How to see the hmods filenames if not using a USB for storage?. Turn the SNES Classic on while connect to the USB flash drive, the listed hmods will be uninstalled, and the transfer folder will be deleted from the USB flash drive.

OTG
USB OTG is an USB specification that allows a device that tipically acts as a USB peripheral (also called simply "device" or "peripheral") to act as a USB host (also called simply "host"). It stands for On-the-Go and was developed to overcome a limitation of the USB protocol. There are USB OTG adapters, that will give one USB-A port, and OTG hubs, that will give more than 1 USB-A ports. The user can also combine a simpler USB OTG adapter with a non-OTG USB hub to work as an OTG hub.

Recomended devices (?)

Wi-fi
By installing the 'wpa-supplicant' hakchi module, the user can connect to the internet. An OTG adapter and a compatible wi-fi dongle are also needed. Among other things, it allows for the connection between the SNES Classic and Hakchi2 CE wirelessly.

The supported wi-fi dongle is the TP-LINK TL-WN725N. Swingflip has stated that he has an experimental hakchi module that would install additional firmware, but it is not released as of yet.

Unfortunately, the compatible wi-fi dongles are very few. Fortunately, the one reccomendded is cheap and widely available.
 * Compatible dongles

Wi-fi support is enabled by a hakchi module developed by Madmonkey.
 * Installation

1) Connect the SNES Classic directly to a computer

2) Install the wpa-supplicant.hmod module to the SNES Classic

3) With the SNES Classic connected to Hakchi2 CE, run telnet (Tools --> Telnet?)

4) type root and press enter (root is the user; no password needed)

5) Close Hakchi2 CE and turn the SNES Classic off

6) Connect a OTG adapter, with only the wi-fi dongle and power source connnect to it, to the SNES Classic

7) Disconnected everything from the SNES Classic other than the OTG adapter (which should by now be connect only to the power supply and to a wi-fi dongle)

8) turn the SNES Classic on and wait at least 30 seconds

9) turn the SNES Classic down

At this point the SNES Classic should be ready to be used normally.

By connecting to the Internet, the SNES Classic can know the correct time, though the Network Time Protocol (NTP), what may or may not be useful for games that adopt a clock mechanic. Is it Retroarch only, or system wide?
 * Features overview

Through Retroarch and RetroAchievements, you can have this feature os the SNES Classic. Requires an Internet Connection, and an RetroAchievements account. You can also use a separate mobile app to follow your progress.
 * Achievements

Managing Hakchi2 CE wirelessly.

Netplay.

NAS support

Patton Play's video on it.
 * External links

Overclock
It is possible to overclock the SNES Classic, altough some issues have been reported by some users.

Added as a game. Can be turned on or off. Also shows the temperature of the SNES Classic.
 * BsLeNuL's Easy Overclock

Write the second section of your page here.
 * Xtreme Overclock hakchi module

Overclocking makes the SNES Classic produce more heat. It is possible to increase its colling capabilities with additional cooling pads?. https://www.reddit.com/r/miniSNESmods/comments/e5tzoh/heat_sink_modification_to_help_with_temps_while/
 * Cooling

Expanded storage
Hakchi allows for expanded storage, in a few different ways. SD cards generally have better performance (faster reading and writing speeds) than USB flash drives (?)

NAND, in the context of the SNES Classic, is simply the internal memory of the system. Its name comes from an electonics technology to manufacture memory chips. As of Hakchi2 CE 3.7, additional memory space becomes available to the user.
 * NAND

It is possible to connect an OTG adapter on the SNES Classic microUSB port to allow for USB connections. ext4 is the faster file system as it is a Linux file system, and the SNES Classic runs on a modified Linuk Kernel. However it is not natively supportedby Windows. The user would need a program like the one from Paragon. Recommended for advanced users only.
 * USB OTG

The second faster file system is NTFS. it has the advantage of being nativelly supported on Windows, unlike ext4. Reccomend for most users.

It is also possible to use FAT32.


 * SD card
 * Echo10's Super Storage


 * microSD to SD adapter

The length of wires being used, as well as electromagnetic interference may present issues.

Tutorial on the oficial Hakchi wiki on how to solder a SD adapter on the SNES Classic: https://wiki.hakchi.net/Adding_an_Internal_SD_Card

The same tutorial as above, this time on the miniSNESmods subreddit https://www.reddit.com/r/miniSNESmods/comments/7hdw61/guide_release_how_to_add_a_microsd_card_to_the/

Another tutorial on the miniSNESmods subreddit: https://www.reddit.com/r/miniSNESmods/comments/aca5pl/by_far_the_cheapest_micro_sd_method/

video tutorial

Custom,system-wide just like regular stock, borders
The SNES Classic comes with 12? borders. It is possible to add others.

Game-specific borders on Canoe
By using the comand line

Multiboot
Through Hakchi2 CE, the user can add the system software (in a .hsqs file type) of both the NES Classic and the Mega Drive Mini, as well as other variants of the SNES Classic, like the Super Famicom.

A .hsqs file is a copy of the stock system files, with no traces of the hakchi scripts (?)

Patton Play's video tutorial

Bluetooth
Support for bluetooth gamepads. Need an OTG adapter and a bluetooth dongle. Supported bluetooth dongles: ASUS USB-BT400, TP-Link UB400.

USB gamepads
Allows for the usage of generic USB gamepads to be used normally, in the main menu, with Canoe, and on Retroarch. Requires an OTG adapter.

In case the USB gamepad is not correctly recognized out of the box, iit is possible to add support to it by


 * 1) binding the inputs on Retroarch settings --> inputs
 * 2) copying the file etc/libretro/joypad_autoconf/udev/HowTheGamepadIsRecgnized.cfg to ?

Custom background music
Download and install Audacity on your PC: https://www.audacityteam.org/.

Install the Music Hack hakchi module.

Open Audacity, go to File > Open... and load the music you want to use.

File > Export Audio....

In the window that appears change "Type" to  and save.

navigate to USB:\hakchi (or to /var/lib/hakchi), create menu_music folder and copy/paste your .wav file in it.