Hakchi2 CE interface

video File:Placeholder
Here are descriptions of what each option in Hakchi2 CE does.

## Kernel

### **Install / Repair**

Install the hakchi kernel onto the SNES Classic if it is not installed yet. If it is already installed, it will overwrite the previous installation, potentially fixing errors.

### **Reset**

That will remove from your system all of the non-default installed hmods, and reset them to default settings. Does it remove added games?

### **Uninstall**

Unninstalls the hakci kernel from the SNES Classic, restoring the stock kernel. Removes all added custom games and installed hmods. Does not delete game saves.

### **Uninstall and flash kernel file**

The computer keyboard's *shift* key needs to be pressed and held down for this option to appear.

Uninstalls the hakchi kernel from the SNES Classic, prompting the user for a clean stock kernel, which will be restored onto the SNES Classic. Erases all added custom games.

### **Dump original kernel (legacy)**

Kernel --> Advanced --> Dump original kernel (legacy)

The user can dump the kernel of an unmodded (stock) SNES Classic

### **Dump decrypted system software**

Kernel->Advanced->Dump decrypted system software

### **Dump user data partition**

Kernel > Advanced > Dump user data

This will copy the contents of the user partition to a .tar file on the user's PC, if you need to restore it, choose Kernel > Advanced > Flash user data

### **Flash user data partition**

Kernel > Advanced > Flash user data

This will restore a previously backed up user data partition. To make a backup, use the *Dump user data* option.

It will create a file (dump) of the original stock kernel (or hsqs? or both?) of your system to your computer.

### **Format user data partition**

Kernel --> Advanced --> Format user data

Erases everything, making the SNES classic a completely fresh system. and re-install the hakchi scripts?

### **Factory reset**

Kernel --> Advanced --> Factory reset

It uninstalls the Hakchi scripts from the SNES Classic, and formats the memory (the user data partition) of the SNES Classic. Erases all data, including added custom games (not the stock ones), saves and prefrences. It has a similar (equal ?) effect to the options `Format user data partition` and `Uninstall` combined.

## Modules

### **Install Extra Modules**

Modules insides the user mods folder will be available to be installed.

### **Generate Modules Report**

It will create a file listing all hakchi mods available to be installed (i.e.: inside the user mods folder), and, if the SNES Classic is connected to Hakchi2 CE, the hmods installed into the SNES Classic. Very useful for remote assistance/troubleshooting.

### **Manage modules repositories**

Hakchi2 CE allows for hubs (repositories) of hakchi modules, easily accesible. By default, it comes with the KMFD mod hub, but others, notably the Mod My Classic repository, can be added.

Here is a tutorial on how to create a modules repository: https://www.reddit.com/r/miniSNESmods/comments/9un8mm/how\_to\_create\_an\_hmod\_repository\_for\_hakchi\_2\_ce/

## View

### **Sort by**

* Name

Games on the Current games collection list will not be compartimentalized by core, nor by console.

* Core

Games on the Current games collection list will be compartimentalized by emulator.

* Console

Games on the Current games collection list will be compartimentalized by system. To add additional console aliases, the .info file of Libretro cores can be edited with a text editr, by adding additional console aliases on the database field (the database field needs to be created in case it doesn't already exists). Alternatively, a dummy (fake ?) .info file may be placed inside the \info folder on the hakchi2CE folder with the custom aliases desired. The dummy .info file needs to have a name ended with libretro.info.

## Settings

### **Separate games storage**

When you don't have "separate games storage" checked, all added games get put into the *games* folder.

If you do have it checked, any games you add will only be added (in Hakchi2 CE itself?) for whichever main system is selected. Hakchi2 (CE) will create new folders in your Hakchi2 CE folder and each added game go into one of these specific games folders.

So all games added while NES/Famicom are selected go into *games*
All games added while the SNES/Super Famicom are selected go into *games\_snes*
All games added while the Genesis/Mega Drive are selected go into *games\_md*

Notice that there isn't a folder called *games-nes*, because the NES was the only console supported by Hakchi2 when it was initially created, so that the games added to it would go to a folder called just 'games'.

### **Center box art thumbnails**

For cases when the aspect ratio of the box art thumbnail is not the same as the stock ones. It will try and center the thumbnail instead of ???

It won't affect thumbnails that have the same aspect ratio as the stock thumbnails.

### **Separate games for multiboot**

If enabled, it will consider 1 different list of games for each of the systems (as separated on the "Current games collection drop-down menu") supported by Hakchi2 CE). Useful for managing system of different models such as 1 American SNES Classic and 1 Japanese Super Famicom, each with their own list of games.

When enabled, there will be different *games* folders on the SNES Classic (or on an external storage solution), like snes-usa, sfc-jp (?), etc. Each system model will then utilize the corresponding folder.

### **Controller hacks**

These option will only work when using *clovercon*, i.e., when the controller is plugged directly into one of the Wii-style frontal ports (or connect through the Nincade board (?), not through USB OTG.

* Return to main menu (reset)

By holding start and select buttons simultaneously for a few seconds while in a game, the game will close and the player will be brought back to the main menu.

* Turbo buttons

By holding select and A, B, X, or Y simultaneously for a few seconds, the button becomes a "turbo" button, i.e., by holding it, the system will interpret it as if the player was pressing it in rapid succession.

### **Developer Tools**

CTRL+F12 (this will enable "Developer tools" under the settings menu) then settings --> Developer tools

Here the user can download the most uptodate version of the Hakchi scripts available, straight from Madmonkey's servers. After downloading the Hakchi scripts, you can install them by going to the install/repair the kernel option.

## Tools

===Save-States Manager
Hakchi2 CE includes a save states manager, with which the user can: transfer saves from/to the system; delete saves from the system; check which games have saves; how much memory the saves are occupying.

### **Open FTP client**

FTP is an old protocol of files transfer. You can think of it as a means to acces the files and folders structure of the SNES Classic. You may use Windows' File Explorer or a third party program like FileZilla for that.

Hakchi2 CE allows connection through FTP, so the user can see the files inside their SNES Classic unit. In order to access the SNES Classci through FTP, the SNES Classic needs to be connected to Hakchi2 CE (the dot at the bottom left must be green). Firewall may interfere in the connection. User: *root*; there is no password.

snesclassicsmods tutorial

### **Open Telnet Client**

Allows to connect through Telnet with the SNES Classic. User login: `root`, there is no password, It is needed to set up the WPA supplicant module. Known commands:

* **canoe-shvc**, will show a list of commands available to use with the Canoe emulator

* **test-menu**, will show the "CLOVER - Production test menu", it contains some developer options. Exercize caution.

* **sunxi-part nes-fixed**, it repartitionates the SNES Classic memory to the default NES Classic partitions (?); one of the steps necessary to convert a SNES Classic into a NES Classic (no dualboot).

### **Switch running firmware**

When you have more than 1 firmwares installed on the SNES Classic (process also known as multiboot, or dual boot when there are 2 firmwares), it allows to change which firmware is currently connected to Hakchi2 CE.

### **Prepare art folders**

Will create a folder (empty) for box art images for 1 or more systems, inside the \art folder. Hakchi2 CE will look into these folder when adding games or when rescanning for box art images for those specific systems. Useful to keep box art collections separated, but all box art collections may also go directly into the \art folder if named properly.

## Select Cores window

right click on a game --> select emulation core

cores downloaded populate the list, if you don't have it downloaded, it won't show.

## Save count

0 means there's no SRAM (the game creates no save); 1, 2, and 3 mean that the game creates a save (.sram) file.

The sram size is at the address 0x8008 for sfrom of LoROM games, and at 0x10008 for sfroms of HiROM games. For unheadered .smc or .sfc files, the SRAM size is at the address 7FD8 for LoROM games, and at FFD8 for HiROM games.

If the SRAM size is 0, then the game creates no save file and the save count value should be set to 0. If the SRAM size is different than 0, the game will create a .sram save file (0 means there's no SRAM (the game creates no save), 1 means a SRAM of 16 kib, 2 means 32 kib, and 3 means 64 kib) but the size of the SRAM block does not directly define the save count value. It is unknown how Nintendo sets the save count value.

Currently Hakchi2 CE does not automatically detect the save count for .sfrom files, and either sets the value 0 (no SRAM), or the value 3 (any size different than 0 of SRAM). The precise way of determinig the save count is not known. The end result for the user is the same for save counts of 1, 2, and 3. Values of 1, 2 are not detected by Hakchi2 CE (save count is instead set to 3), but can be set manually.

It is specially important because, if it is set to 0, the SNES Classic will not alert the player that loading a suspend point may overwrite the current save progress with the save progress of the suspend point being loaded.

## Flash stock kernel

It removes the Hakchi scripts from the SNES Classic, as well as the custom added games. Saves are not deleted (but do a backup regardless).

## Command line

The command line that will start a game or script. Avoid editing it manually. A list of arguments/parameters/flags can be found on the Hakchi2 github wiki, or on the SNES Classic by running the command `canoe-shvc` via Telnet.

For newer versions of RetroArch Xtreme, the `--shared-save ID CODE OF OTHER GAME` command can be used to make 2 or more games share the same save file (i.e., use the save file of the "OTHER GAME", which should not receive this command). It was speciffically designed for usage with the BS Ancient Stone Tablets game, but may possibly be used with others as well.

## Current games collection

By default, games will be in a single combined list (collection) shared across different system types (ie: SNES Classic, NES Classic etc).

It is possible to separate the games collection by system type, so that the user would have one list of games (collection) for a SNES CLassic, and another list of games for a NES Classic.

Such behavior is configured by the Settings --> Separate games storage option.

It specifically refers to the actual SNES Classic variant (e.g.: Super Famicom, European SNES Classic) to be connected to Hakchi2 CE. If the wrong option is selected, no games will show up (?)

ID
--

*Main article: Hakchi2 CE game id*
A Hakchi2 CE internal identification code of a game.