Homebrew [WIP] Wumiibo- Amiibo Emulation for 3ds

Kartik

Well-Known Member
OP
Member
Joined
Jun 6, 2015
Messages
641
Trophies
0
Location
github
XP
2,174
Country
India
UPDATE: Starting from v1.0, client is no longer required!

What is this?
This is a nfc-module rewrite with the aim of amiibo emulation for 3ds.

How to Use?
Make sure you use the latest luma version!

A extensive guide is available at
:- https://github.com/hax0kartik/wumiibo/wiki/Usage-guide-for-Wumiibo-and-WumiiboHelper

Do note this disables normal amiibo functionality, if you want to use you real amiibos, disable wumiibo.

Latest release: v4.0
Any ideas/suggestions/bug reports are most welcome.
If you're interested in helping me develop this or would just like to say hi, hop on to https://discord.gg/hyuvmb9
 
Last edited by Kartik,

Kartik

Well-Known Member
OP
Member
Joined
Jun 6, 2015
Messages
641
Trophies
0
Location
github
XP
2,174
Country
India
What is this?
This is a nfc-module rewrite with the aim of amiibo emulation for 3ds over network by using compatible amiibo bins.

It is still under developement, expect bugs. I have only been able to test 7 games on my n3ds(it might be possible what works on my n3ds doesn't work on an o3ds)so far and thus, I'm making this project public so that more people can test it out and help me track down the bugs.

The games that I have tested and seem to work are :- https://github.com/hax0kartik/wumiibo/wiki/Compatibility-List
If your game happens to work, please tell me so that I can add it to this list.

How to Use?
  • Get the module from https://github.com/hax0kartik/wumiibo/releases and the client from https://github.com/hax0kartik/wumiibo-client/releases
  • Extract the zip to `/luma/titles`
  • Enable Title Patching from luma menu
  • Make sure your 3ds is connected to internet or the module will crash, and then open your game.
  • To verify whether wumiibo loaded, open up rosalina, go to process list, and check whether it mentions a process named as "wumiibo"
  • Select your encrypted and decrypted amiibo bins in the client and enter your 3ds's IP. Make sure your 3ds and device are connected to same network.
  • Reach to the screen where the game tells you to place the amiibo
  • Press `Emulate`. Some games might stuck on "Remove amiibo" screen, just press start on your 3ds, to simulate the amiibo being removed. If that doesn't work open up a issue.

Decrypting your amiibo dumps

You can decrypt your encrypted amiibo dumps by using amiitool https://github.com/socram8888/amiitool/releases
You'll need the retail amiibo keys to use amiitool. A google search will help you.

A note about the `Client`

I should note that the module knows nothing about the client, therefore it should be possible to port the client to an android app and use it directly from your phone. I'll probably take a look at this once I have ensured that atleast some games work if not all.

Any ideas/suggestions/bug reports are most welcome.

Reporting bugs

To report bugs, copy all the contents from the debug window behind the client to a file and upload the file somewhere along with the details as, what game it was and whether you used a o3ds or n3ds.

If you're interested in helping me develop this,or would just like to say hi, hop on to https://discord.gg/hyuvmb9

Oh also, btw, the gui for my client is shit, if anyone is interested in rewriting it or wants to work and release their own clients, please be my guest. :P
 
Last edited by Kartik,

python_gba

Member
Newcomer
Joined
Jul 18, 2020
Messages
5
Trophies
0
Age
31
XP
136
Country
Austria
Cool stuff! I just tested it with Metroid Samus Returns on my N3DS and after some trial and error I got it to work. My only issue is that the Samus Aran amiibo gets recognized as the Samus (Smash Bros.) amiibo, meaning it unlocks a missile container when it should actually unlock an aeion container. Maybe I made a mistake somewhere but I tried it multiple times with no success.

Not sure if it helps but here is the log:
Code:
Reading Files.
Files parsed successfully.
Connecting to 3DS.
Connect succeeded
Connected.
Cmdid recieved 00110000
Cmdid recieved 001A0000
Cmdid recieved 001B0000
Cmdid recieved 00050040
Disconnected

Oh and btw the GUI is totally fine for what it does :)
 
  • Like
Reactions: Kartik

Kartik

Well-Known Member
OP
Member
Joined
Jun 6, 2015
Messages
641
Trophies
0
Location
github
XP
2,174
Country
India
Cool stuff! I just tested it with Metroid Samus Returns on my N3DS and after some trial and error I got it to work. My only issue is that the Samus Aran amiibo gets recognized as the Samus (Smash Bros.) amiibo, meaning it unlocks a missile container when it should actually unlock an aeion container. Maybe I made a mistake somewhere but I tried it multiple times with no success.

Not sure if it helps but here is the log:
Code:
Reading Files.
Files parsed successfully.
Connecting to 3DS.
Connect succeeded
Connected.
Cmdid recieved 00110000
Cmdid recieved 001A0000
Cmdid recieved 001B0000
Cmdid recieved 00050040
Disconnected

Oh and btw the GUI is totally fine for what it does :)
Well looking at the log, I can say, all the game does is read the Amiibo Identification block(This is different for different figures). You could test your game under citra and check whether citra also displays it as a Samus Smash Bros. Amiibo.
 

Liambass

Well-Known Member
Member
Joined
Dec 22, 2008
Messages
107
Trophies
0
XP
475
Country
Good work! I surprised something like this wasn't made years ago.

I wonder if it would be possible to do away with the client entirely, have the Amiibo bins stored on the 3DS, and select them directly from Rosalina?
 
  • Like
Reactions: hug0-a7x

Kartik

Well-Known Member
OP
Member
Joined
Jun 6, 2015
Messages
641
Trophies
0
Location
github
XP
2,174
Country
India
Good work! I surprised something like this wasn't made years ago.

I wonder if it would be possible to do away with the client entirely, have the Amiibo bins stored on the 3DS, and select them directly from Rosalina?

It is totally possible to do away with the client, no rosalina tho, :P. I went with the client-server design because it has its advantages. But yeah it is totally possible to do away withe client and this is on my bucketlist
 

Liambass

Well-Known Member
Member
Joined
Dec 22, 2008
Messages
107
Trophies
0
XP
475
Country
It is totally possible to do away with the client, no rosalina tho, :P. I went with the client-server design because it has its advantages. But yeah it is totally possible to do away withe client and this is on my bucketlist

How would it work without Rosalina? A separate plugin like cheats used to be?

I'm sure the client-server thing has lots of advantages, but it would be great to also have the option of Amiibo emulation without a separate device or WiFi.
 
  • Like
Reactions: Kartik

Kartik

Well-Known Member
OP
Member
Joined
Jun 6, 2015
Messages
641
Trophies
0
Location
github
XP
2,174
Country
India
How would it work without Rosalina? A separate plugin like cheats used to be?

I'm sure the client-server thing has lots of advantages, but it would be great to also have the option of Amiibo emulation without a separate device or WiFi.
By listening for a keycombo which will pop up its own menu like rosalina. I have a few ideas in mind on how this could work, but right now I'm prioritizing bug fixing. Pls look forward to next releases, one of those will probably have this :)
 

Liambass

Well-Known Member
Member
Joined
Dec 22, 2008
Messages
107
Trophies
0
XP
475
Country
By listening for a keycombo which will pop up its own menu like rosalina. I have a few ideas in mind on how this could work, but right now I'm prioritizing bug fixing. Pls look forward to next releases, one of those will probably have this :)

nice, I'll keep an eye out.
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
2,371
Trophies
1
XP
2,878
Country
Canada
Was this unusually difficult? I'm just wondering if there's something in particular that stopped people from making something like this until now.
 

Vulpes-Vulpeos

Well-Known Member
Member
Joined
Feb 1, 2018
Messages
178
Trophies
0
Age
29
Location
Украина
Website
Vulpes-Vulpeos.deviantart.com
XP
1,758
Country
Ukraine
By listening for a keycombo which will pop up its own menu like rosalina. I have a few ideas in mind on how this could work, but right now I'm prioritizing bug fixing. Pls look forward to next releases, one of those will probably have this :)

It will be even more fun if you could add some kind of physical aspect to this, like replace amiibos with qr-codes (even if you still need to copy amiibo bins on to the console sd card. Or maybe info from amiibo nfc-chip can fit into qr-code). You press key combo -> qr-code reader popup -> you scan qr-code.
Plus of this approach is that you don't need quite expensive nfc-tokens, but you still can make/have custom physical amiibo cards.
 

Kartik

Well-Known Member
OP
Member
Joined
Jun 6, 2015
Messages
641
Trophies
0
Location
github
XP
2,174
Country
India
It will be even more fun if you could add some kind of physical aspect to this, like replace amiibos with qr-codes (even if you still need to copy amiibo bins on to the console sd card. Or maybe info from amiibo nfc-chip can fit into qr-code). You press key combo -> qr-code reader popup -> you scan qr-code.
Plus of this approach is that you don't need quite expensive nfc-tokens, but you still can make/have custom physical amiibo cards.
this is a very unique idea and I like it, but you have to remember an amiibo file is 0x214 bytes and I think that would produce a really dense qr
 

Vulpes-Vulpeos

Well-Known Member
Member
Joined
Feb 1, 2018
Messages
178
Trophies
0
Age
29
Location
Украина
Website
Vulpes-Vulpeos.deviantart.com
XP
1,758
Country
Ukraine
this is a very unique idea and I like it, but you have to remember an amiibo file is 0x214 bytes and I think that would produce a really dense qr
Based on this amiibo can fit into a low error correcting version 11 QR-code (300 bytes). Looks like it's not that dense :unsure:
Here is example from that site:

Googled, now I know that 0x214 bytes means 532 bytes and not 214 bytes...

UPD: Tried random amiibo (540 bytes, 8 bytes were 0) in random qr-code generator. Qr-code is pretty dense :(
Don't know if 3DS can handle such qr-code.
test.png

UPD2: Looked at clothes qr-codes from Animal Crossing New Leaf I made 2 years ago. 3DS should be able to handle this size of QR-codes.
 
Last edited by Vulpes-Vulpeos,
  • Like
Reactions: Valery0p

Kartik

Well-Known Member
OP
Member
Joined
Jun 6, 2015
Messages
641
Trophies
0
Location
github
XP
2,174
Country
India
Is this compatible with games that write data to the amiibo? (e.g. smash)
It is, it writes back to the decrypted dump.

Based on this amiibo can fit into a low error correcting version 11 QR-code (300 bytes). Looks like it's not that dense :unsure:
Here is example from that site:

Googled, now I know that 0x214 bytes means 532 bytes and not 214 bytes...

UPD: Tried random amiibo (540 bytes, 8 bytes were 0) in random qr-code generator. Qr-code is pretty dense :(
Don't know if 3DS can handle such qr-code.

UPD2: Looked at clothes qr-codes from Animal Crossing New Leaf I made 2 years ago. 3DS should be able to handle this size of QR-codes.

Well it depends on what libs you use, and all of this is assuming, that I can access camera services from a module and then draw that to the screen. I should also note that is probably going to be very slow.
 

Rioluwott

Well-Known Member
Member
Joined
Feb 23, 2014
Messages
843
Trophies
0
Age
26
XP
2,017
Country
Mexico
I tested some games using an O3DS here are the results
Luigi's Mansion: Works(Used Luigi and Mario Amiibo)
Shovel Knigh: Works(Used Shovel Knight Amiibo)
Kirby's Epic Yarn: Works(Used Kirby Amiibo)
Yoshi's Woolly World & Poochy: Works(Used Link Amiibo)
Animal Crossing New Leaf: Works(as Reported)
Kirby's Planet Robobot: Works(Used MetaKnight and Bandana Dee Amiibo)
Super Smash Bros 3DS: Doesn't work(Black screen with music playing)
the main problem i found is that you need to restart the app and the game each time you need to scan an amiibo
 
Last edited by Rioluwott,
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: https://youtu.be/bkR4rNlF14s