Virtual amiibo (amiibo emulation) system for Nintendo Switch, no longer requiring dumps :)
- Download the latest release and place it on your CFW's titles folder (so it would be like <cfw>/titles/0100000000000352).
- According to tests, should work on any CFW which allows NSP sysmodules (Atmosphere, ReiNX).
- You also have to set the boot2 flag, whose location depends on the CFW:
- Atmosphere: create a file named boot2.flag inside titles/0100000000000352/flags directory.
- ReiNX: create a file named boot2.flag inside titles/0100000000000352 directory.
All the input combos are performed with R-Stick pressing and pressing the D-pad in an specific direction (at the same time). Combos must (should) be done before or after the game starts looking for amiibos.
- Toggle amiibo emulation: Press R-Stick (like it was a button) and also pressing the D-pad up. Toggles/untoggles emulation.
- Toggle amiibo emulation once: Same as above, but pressing the D-pad right. Toggles emulation once, after emulating an amiibo then it will untoggle automatically.
- Untoggle amiibo emulation: Same as above, but pressing the D-pad down. Untoggles amiibo emulation, and should be used as a way to fully ensure it is untoggled, in case you don't know whether it's toggled or not.
- Swap amiibo: Same as above, but pressing the D-pad left. Moves to the next amiibo in the amiibo directory, if last one starts again with the first one. Only has effect if amiibo emulation is toggled.
Emuiibo's amiibo directory is sd:/emuiibo. Place your amiibo dumps (must be *.bin files) there.
Emuiibo no longer requires dumps to emulate amiibos. Instead, you can use emuGUIibo PC tool in order to generate virtual amiibos.
How do virtual amiibos work?
Virtual amiibos consist on a folder containing several JSON files.
A virtual amiibo, in order to be recognised as valid, must contain valid tag.json, register.json, common.json and model.json files. This file names were chosen according to the way the console processes amiibos, which are splitted into 4 processed data blocks (TagInfo, ModelInfo, CommonInfo and RegisterInfo).
The only relevant part of an amiibo, which identifies the type of amiibo, is the amiibo ID. Every other parameter can be emulated or isn't that relevant. The NFC UUID, present on amiibo NFC dumps, is randomly generated with virtual amiibos, since it isn't something important whatsoever.
Miis can be an issue when attempting to make emuiibo user-friendly. Since mii format is a 88-byte data block named "CharInfo" and we have no way to see char-infos rendered but in the console itself, there is no simple way to change the mii.
If (with emuiibo activated!) the title responds with an error similar to "No controller which supports NFC was found" probably means that emuiibo failed to supply the amiibo (wrong amiibo, internal error...). That error is displayed due to limitations with real NFC error codes.
All the persons who contributed to the nfp-mitm project before me: Subv, ogniK, averne, spx01, SciresM
libstratosphere libraries (SciresM again)
Que novedades incluye la versión 0.5
emuiibo has been completely rewritten, and this has been incredibly helpful, since almost any issue present for previous versions is no longer a problem 😉
- Latest Atmosphere (0.11.1) and 10.0.0 support
- New virtual amiibo format, consisting on a single JSON file (emuiibo will automatically convert old formats to this new format on startup)
- Key combos are no longer a thing, since they were a not very friendly way of controlling emuiibo, and having an overlay is 100 times more helpful.
- The way emuiibo internally "mimics" Nintendo's amiibo services has been improved a lot. This was what caused many games to not work fine (Link's Awakening, Diablo 3, Fire Emblem...). In fact, emuiibo is introducing a new feature which makes amiibo emulation slightly more similar to real amiibos, which made those specific games work (see below).
- Virtual amiibo connecting/disconnecting: these two are the equivalents of placing a real amiibo in the NFC point/R-stick (connecting it) and removing it from that spot (disconnecting it). Previously, emuiibo "tried" to take care of that manually (games like SSBU asked the user to remove the amiibo after saving progress), which resulted in many games freezing when they read amiibos. Now, simply disconnect the amiibo when you need to remove it, and connect it to use it again!
- Support for raw bin amiibo dumps works now (it was broken for v0.4)
- Old (v0.3.x and v0.4) amiibo formats are converted on startup, so no need to create new amiibos, old ones should work 🙂
- IPC API changed completely, check the overlay's source as an example of how it works.
- Now logs are reset on each reboot, so make sure to not reboot or make a copy of emuiibo's log file if wou want to preserve them! (this was done since the log file would get excessively big if it wasn't cleaned)
Virtual amiibo emulation
- emuiibo was updated to latest libnx and libstratosphere, what might fix possible bugs those had before. (libstratosphere's new IPC API is far more accurate now)
- Internal heap usage was decreased from 0x75000 to 0x10000. (~7 times less heap!)
- Several implementation mistakes were corrected, which might have caused issues.
- Those problems with certain amiibos (mainly BOTW ones) have been fixed, which were caused by a bad handling of amiibo IDs (N sends them in a slightly different way)
- Now emuiibo has a settings file: settings.json inside emuiibo's directory. The only setting it has for now is whether input combos are enabled, and this defaults to false (disabled by default).
- If you want to disable input combos, just edit the file and change the field comboEnabled from true to false, or the opposite to re-enable them.
- Added logging, so that most interactions are logged to a logging file (emuiibo.log) in emuiibo's directory, to help with potential issues.
Custom service (nfp:emu)
- API changed, some commands' implementation is slightly different now.
- Version now isn't 3 u32, it's a struct made of 4 u8s (major, minor micro and dev - whether it's a dev build).
emutool (emuGUIibo was renamed to emutool)
- Small corrections in texts.
- Thanks to AcK77's contributions, emuGUIibo now looks way better than on its initial release!
- 9.0.0 support