emuiibo - MitM'ing NFP services for Amiibo emulation

Hi everyone!

I noticed there was a project called switch-nfp-mitm, which had lots of forks, but none of them properly working (people reported it barely worked, and with some games), thus I decided to try to fix it, or to improve it as much as I could. Well, the results were that good, that I've just managed to get it working perfectly, even with a nice system of combos for Amiibo swapping, in just 2 days.

So, well, here's the result:


emuiibo

emuiibo is a virtual amiibo (amiibo emulation) system for Nintendo Switch!

It consists on a background process (and service), which intercepts Nintendo Switch's internal NFC/NFP services to support virtual amiibo emulation, plus an overlay to easily control it.



Have fun playing around with custom virtual amiibos!
 
Last edited by XorTroll,

Hecatia666

Well-Known Member
Newcomer
Joined
Feb 12, 2018
Messages
47
Trophies
0
Age
28
XP
282
Country
Chile
Did any of the FE amiibo worked in Three Houses for someone? The message "unable to detect NFC-enabled controller" keeps popping up, after more attempts, the screen for holding the amiibo to the NFC area appears but keeps like that for a long time...
 

Qwerty5555

Active Member
Newcomer
Joined
Sep 28, 2019
Messages
40
Trophies
0
Age
34
XP
113
Country
Afghanistan
Does this work on fw 9.0/atmo/kosmos - botw? I put the right folders/files on the SD but any button combination within botw wont activate the amibos.

When i do the button combo the blue light of the joycon goes on.
 
Last edited by Qwerty5555,

tatundria

Well-Known Member
Member
Joined
Feb 24, 2009
Messages
394
Trophies
1
XP
2,138
Country
Argentina
Can anyone please help me? I get atmosphere boot error everytime I enable emuiibo. How can I fix it? I use emuiibo 0.3.1 and I had tried disabling every other module...
 

Krude

Well-Known Member
Member
Joined
May 18, 2013
Messages
344
Trophies
0
XP
1,198
Country
Gambia, The
Has anyone figured out how the per-game amiibo sets are working? The instructions aren't really clear.
I've tried multiple things but had no success so far. Putting them into a folder like sd:/emuiibo/amiibo/[titleid]/[amiiboname] doesn't do anything for example.
 

Wonder_Woman_

Well-Known Member
Newcomer
Joined
Nov 5, 2017
Messages
61
Trophies
0
Age
43
XP
333
Country
United States
Hi everyone!

I noticed there was a project called switch-nfp-mitm, which had lots of forks, but none of them properly working (people reported it barely worked, and with some games), thus I decided to try to fix it, or to improve it as much as I could. Well, the results were that good, that I've just managed to get it working perfectly, even with a nice system of combos for Amiibo swapping, in just 2 days.

So, well, here's the result:

emuiibo

emuiibo is a background process (and service) which Nintendo Switch's internal NFC (NFP) services to support virtual amiibo emulation.

Usage

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 in the CFW's /titles directory: <cfw>/titles/0100000000000352/flags/boot2.flag.

Combos

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.

  • Activate amiibo emulation: Press R-Stick (like it was a button) and also pressing the D-pad up. Toggles/untoggles emulation.

  • Activate amiibo emulation once: Same as above, but pressing the D-pad right. Toggles emulation once, after emulating an amiibo then it will untoggle automatically.

  • Deactivate 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.

  • Move to next 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.
SD layout
  • Emuiibo's directory is sd:/emuiibo.

  • Amiibos go inside sd:/emuiibo/amiibo. For instance, an amiibo named MyMario would be sd:/emuiibo/amiibo/MyMario/<json files>.

  • Every time the console is booted, emuiibo saves all the miis inside the console to the SD card. Format is sd:/emuiibo/miis/<index> - <name>/mii-charinfo.bin.
Amiibo emulation

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

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.

Important notes

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.

For developers

emuiibo also hosts a custom service, nfp:emu, which can be used to control amiibo emulation by IPC commands.

You have an implementation for C/C++ and libnx in here.

Credits
  • Everyone who contributed to the original nfp-mitm project (forks): Subv, ogniK, averne, spx01, SciresM

  • libstratosphere project and libraries

  • AmiiboAPI (JSON API), which is used by emuGUIibo to get a proper, full amiibo list, in order to generate virtual amiibos without the need of raw dumps.

GitHub: https://github.com/XorTroll/emuiibo
Releases: https://github.com/XorTroll/emuiibo/releases

Hope you enjoy this useful tool!
can you please port Thenaya https://github.com/HiddenRamblings/Thenaya/releases over to the switch
 
Joined
Sep 9, 2019
Messages
904
Trophies
1
Location
Switch scene
Website
github.com
XP
2,663
Country
Korea, North
can you please port Thenaya https://github.com/HiddenRamblings/Thenaya/releases over to the switch
Goldleaf can dump Amiibos in to Virtual amiibos which work with Emuiibo. They won't work with nfc tags but you don't need nfc tags if you have a hacked switch because you can use Emuiibo (unless you want to use them on another device? But then you can just use your physical amiibo anyway since you need it to dump it).
 

Wonder_Woman_

Well-Known Member
Newcomer
Joined
Nov 5, 2017
Messages
61
Trophies
0
Age
43
XP
333
Country
United States
Goldleaf can dump Amiibos in to Virtual amiibos which work with Emuiibo. They won't work with nfc tags but you don't need nfc tags if you have a hacked switch because you can use Emuiibo (unless you want to use them on another device? But then you can just use your physical amiibo anyway since you need it to dump it).
I know just wanted another option to make my own physical tags besides Android and 3DS lol
 

TouToTheHouYo

Active Member
Newcomer
Joined
Dec 7, 2018
Messages
39
Trophies
0
Age
121
XP
383
Country
United States
Did any of the FE amiibo worked in Three Houses for someone? The message "unable to detect NFC-enabled controller" keeps popping up, after more attempts, the screen for holding the amiibo to the NFC area appears but keeps like that for a long time...
I'm having this same issue. Running FW 9.0.1 I just switched over to Atmosphere 0.9.4 from SX OS with no problems. Everything else runs fine. Put emuiibo v3.1 in the titles folder. Generated all the Fire Emblem character amiibos with the latest EmuGUIibo. Copied them to sd:/emuiibo/amiibo/[amiibo name]. Also have the latest fork of AmiiSwap as well.

I boot up Fire Emblem: Three Houses, head to the amiibo gazebo, select to scan for amiibo, the controller screen comes up, and then nothing. The game doesn't respond in any way to any of emuiibo's commands. Pressing the right analog stick in and hitting the directional buttons causes the home button to flash blue, indicating something is happening, but the game doesn't respond. In the AmiiSwap applet the combinations show to be working. Holding the right analog stick and pressing up on the d-buttons toggle emulation on and off, and when toggled on r-stick + left cycles through amiibos, so the sysmodule seems to be functional just not responding with the game.

When scanning for amiibo in-game, then backing out to AmiiSwap to activate emulation, then switching back to Fire Emblem I get the error that no NFC compliant controller can be detected. Doesn't matter if emulation is set to enabled continuously or simply enabled once. The game only throws the error code once. After that nothing I do with either emuiibo commands or in AmiiSwap has the game recognize the emulated amiibo in anyway.

I'm not certain what, if anything, I'm doing wrong. Emuiibo is responding to commands and AmiiSwap shows my amiibo inventory. Nothing seems to be wrong with either app but Fire Emblem still won't respond. I'm not certain what else I can do.

UPDATE: I managed to get emuiibo working but perhaps not as intended. My previously stated issue remains: Both the emuiibo commands and AmiiSwap do nothing when used while Fire Emblem is running. However if the emuiibo commands are used before launching the game then it works, but only for the amiibo initially loaded before launch. The commands and AmiiSwap still won't work after the first scan. While inconvenient it's still useful. Unfortunately AmiiSwap doesn't function the same way.
 
Last edited by TouToTheHouYo,

MushGuy

Well-Known Member
Member
Joined
Feb 11, 2010
Messages
1,280
Trophies
1
XP
2,583
Country
United States
Speaking of Mario Odyssey, i also have the problem another poster mentioned before, in that special edition amiibos are not recognized. In Odyssey, a normal Mario gives you a retro outfit, the Odyssey Mario gives you a wedding suit, and a gold Mario gives you, well, a gold outfit.

In emulation, the gold and Odyssey Marios only give you the "normal" retro outfit though, they're recognized as the base standard amiibos. Same with others like the Peach/Bowser Odyssey amiibos, they only give you the standard rewards instead of the special outfit.
Same problem here. Is there a chance for the next release to fix the issue with Odyssey not recognizing special amiibos (Gold Mario, the wedding amiibos)?
 
Last edited by MushGuy,

GnK23

Well-Known Member
Member
Joined
Apr 6, 2016
Messages
170
Trophies
0
Age
35
XP
671
Country
United States
@Xortrol where do I get the settings files for the new emuiibo? it is not inside the 0.4 release.

EDIT: I just found out it auto generates the settings inside the emuiibo folder. There is a bug that causes atmosphere to crash when the settings is set to true.
 
Last edited by GnK23,

leanderson2006

Well-Known Member
Newcomer
Joined
Dec 19, 2012
Messages
90
Trophies
1
Location
Rio de Janeiro, Rio de Janeiro
XP
1,060
Country
Brazil
My default settings.json is automatically set to false, but when I change it to true. the atmosphere breaks with error 2345-0002 (0x559) and will not start working only if i set settings.json to false.
i'm using emunand on firmware 9.1.0 atmosphere 0.10.1
 

Attachments

  • IMG_20191230_163215.jpg
    IMG_20191230_163215.jpg
    844 KB · Views: 211
Last edited by leanderson2006,

GnK23

Well-Known Member
Member
Joined
Apr 6, 2016
Messages
170
Trophies
0
Age
35
XP
671
Country
United States
My default settings.json is automatically set to false, but when I change it to true. the atmosphere breaks with error 2345-0002 (0x559) and will not start working only if i set settings.json to false.
i'm using emunand on firmware 9.1.0 atmosphere 0.10.1
Same thing happens to me.
 

JonJaded

Well-Known Member
Member
Joined
May 22, 2016
Messages
679
Trophies
0
XP
2,933
Country
United States
emuiibo v0.4 is out, fixing support with latest Atmosphere plus many other bugs, like those "not properly recognized" BotW amiibos ;)
Go check it out: https://github.com/XorTroll/emuiibo/releases/tag/0.4

Two questions: Is there a way to use/convert actual amiibo dumps (the ones from emuiibo 0.2 ) and still have their data be retained? I ask this speicifcally because I want to use a 20-Heart Wolf Link on BotW.
 
  • Like
Reactions: tatundria

tatundria

Well-Known Member
Member
Joined
Feb 24, 2009
Messages
394
Trophies
1
XP
2,138
Country
Argentina
Found the solution. I have to enable them in settings.json.
Is there any chance to convert .bin files amiibos to the new format? I need to use my Wolf Link amiibo with 20 hearts that I have in .bin.
 
Last edited by tatundria,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Nut on the hill