Option to emulate other figures like Disney Infinity, Lego Dimensions or Skylanders
HI, I see you have added the Card emulator and there are multiple cards to choose from. It would be good to do separate options for other figures like Disney Infinity, Lego Dimensions or Skylanders. Or if the custom card already does support them, a short instruction on how to use it as it's a bit confusing for me now.
Hi there, because I don't play such game, I may not able to add support for the games you listed. However, some player already written good documents on how to use Skylanders on Allmiibo, you may find it usefull.
https://skylandersnfc.github.io/Docs/Skylanders_on_Allmiibo/
Ha, i see one of my resources above.
Actually i'm here since i've started testing the pixl js for Disney Infinity. They are using Mifare Mini S20 7 bytes UID cards and I saw such inside the Card Emulation menu. However, the Mifare Mini included seems to be 4 bytes UID and there is no way to change it to 7 bytes.
So far this is the one major block for Disney Infinity support. If we get a 7 bytes UID support, it might actually work.
@solosky Do you think such feature is viable and can be easily implemented? Gratitude
It's me again. Did some research regarding Lego Dimensions, and those are on NTAG213, which are also available for emulation from the Card Emulation menu. BUT, they also require 7 byte UID.
So getting a firmware which supports 7 byte UID will unlock both Lego and Disney games all together.
Hi @skylandersNFC , thanks for your feedback.
7 bytes UID support for MF mini and NTAG213
This features are supported by low level function, but not enabled for UI setup, I will enable the 7 byte UID in next major release.
Meanwhile, some idea on how to more friendly to emulate the different tag which should be help on emulation for Lego and Disney games.
FlipperZero .nfc format support
the .nfc file format is very simple and powerfull format for NFC data, support .nfc file format for Card Emulator could be easily load into Card Emulator and nfc data file generation.
Easy emulation by select bin/nfc file
Card Emulator introduces a new mode that could select .nfc/.bin file to emulate directly, without load into slot of card emulator. the card data in card data buffer could be discard or save to origin file directly.
Please share your thoughts on my idea, if you have more great idea, please kindly let me know.
Thank you so much for this update. I'm super stoked to test it.
@solosky Hi there, I don't mean to be a bother, but I was wondering if there's any estimated date for the upcoming major release ? Thank you!
Hi @skylandersNFC , I feel a little lazy those day, I don't have estimated date on the upcoming major release, maybe wait for 2 or 3 month.
Hi @skylandersNFC , I just do some commits to enable 7 bytes uid emulation, you may try develop fw here: https://github.com/solosky/pixl.js/actions/runs/15519874688 You could find the new menu [ID Size] in [Advanced..].
@solosky God damn, it works for Disney ! I will do a written documentation on it soon :)
@skylandersNFC good to know that! Without enable custom mode, you could choose the uid size to 7 bytes uid which will read uid from block 0. But the SAK is not stored block 0, it was hardcoded. The 10 bytes uid is not implemented because I cannot find such card to test.
I am planning to add another app to support select file to emulate directly which should be easy to use to emulate dump-based card. But I think I will release current changes first.
@solosky Do you think it's possible to make the UID 7 bytes option default for Mifare S20 (mini) cards ? And also for them to have the Disney's default SAK (09) and ATQA (4400) ?
Right now is a bit of a hassle to change those for each slot and besides Disney's card emulation, i don't think many people would use/need Mifare S20.
Thank you
@skylandersNFC I think we should not change the default value currently, because it may introduce compability issue for default setup. We should create a new app in Pixl.js device to support more easily to emulate such like game figures. Within the new app, you could quick start game figure emulation with steps:
- select card dump file
- select card variant type(e.g. Amiibo/Disney/Skylander/Lego)
- emulate!!
If correct card varint selected, card type and uid size, atqa, sak are automatically identified.
@skylandersNFC I think we should not change the default value currently, because it may introduce compability issue for default setup. We should create a new app in Pixl.js device ..
Totally agree - I just figured a new menu might be more complex to implement, so I was leaning toward the simpler, workaround-style solution with the change of the default values.
If you need anything from me, just let me know. I have the LCD devices, but the firmware changes should be exactly the same for OLED models as well.
I'm happy to test any changes related to Skylanders or Disney games.
For the LEGO games, a friend has kindly offered to help with testing, since I haven’t been able to find that tricky LEGO portal myself.
Amiibo is already covered, so i don't think we will need to test that one.
Cheers
Hi @skylandersNFC thanks for feedback. Regarding current commits, may I know is there any bug or improvement on this version? If you feel good to release current commits, I will release current commits as version 2.13.0. https://github.com/solosky/pixl.js/pull/328
Hi @skylandersNFC thanks for feedback. Regarding current commits, may I know is there any bug or improvement on this version? If you feel good to release current commits, I will release current commits as version 2.13.0. #328
For Disney Infinity - everything is working with the new change. We have not tested any LEGO games yet. Also Skylanders are not affected by this change.
However, for Disney the end user need to do the following steps:
- Inside Card Emulator > Open Slot 1
- Change card type to MiFare Mini
- Go to Advanced menu > Change ID Size from 4 Bytes to 7 bytes
- From Data.. > Load a Disney dump (usually a bin file)
- Go back to Advanced > Change Custom Mode from [OFF] to [ON]
- Find SAK value and change it to from "08" to "09"
- Find ATQA value and change it from "00.04" to "00.44"
- Go back to Custom Mode and disable it (from [ON] to [OFF])
Explanation: The Disney dump emulation would need SAK 09 and ATQA 4400, hence those have to be changed manually. In order to do that, the custom mode have to be enabled. However, while [ON] the Custom Mod will overwrite the UID of the dump to some generic one. No idea why this feature is there. So in order to prevent this, Custom Mode have to be set to [OFF] to get the real dump UID while still keeping the changed SAK 09 and ATQA 4400
HI @skylandersNFC ,
If you do not enable the Custom Mode, just select the correct UID size, the UID, ATQA is read from block 0. however, the SAK is not stored in block0, so it always use a hard coded value 0x08, which also can be changed in Custom Mode.
But if enable the Custom Mode, UID, ATQA, SAK are read from dedicated storage other than block0 and the initial value was hardcoded, so you can custom everything in anti-col phrase.
As a workaround, you could enable custom mode first and change the SAK first. then disable custom mode. the UID and ATQA is read from block0 and SAK is your customized value.
The ATQA is read from 9,10 bytes in block0. it should be same as the actual card. I ready don't know why the ATQA in dump file is not same as game expected...
Hi @skylandersNFC ,
I just added a menu "Load from block0.." under "Custom Mode". If you enable "Custom Mode", you could click "Load from block0" to load UID/ATQA to customized UID/ATQA/SAK storage. Hope this feature make sense.
You could download latest firmware here: https://github.com/solosky/pixl.js/actions/runs/15589456034
HI @skylandersNFC ,
If you do not enable the Custom Mode, just select the correct UID size, the UID, ATQA is read from block 0. however, the SAK is not stored in block0, so it always use a hard coded value 0x08, which also can be changed in Custom Mode.
But if enable the Custom Mode, UID, ATQA, SAK are read from dedicated storage other than block0 and the initial value was hardcoded, so you can custom everything in anti-col phrase.
As a workaround, you could enable custom mode first and change the SAK first. then disable custom mode. the UID and ATQA is read from block0 and SAK is your customized value.
The ATQA is read from 9,10 bytes in block0. it should be same as the actual card. I ready don't know why the ATQA in dump file is not same as game expected...
Ahh, this makes sense.
The hex values on the dumps are "44 00 C2" This corresponds to ATQA 4400 and SAK 08
From those only SAK have to be altered to 09, since this is what the game accepts.
But so far when using the Custom Mode to change the SAK, it was also altering my ATQA and UID to something else, so I had to go back and change it manually.
Now with the new firmware, after enabling the Custom mode and losing the proper ATQA and UID, I've used the "Load from Block0" and indeed i got the correct UID and ATQA from the dump data.
Then i've changed SAK to 09 manually, while leaving the Custom Mode [ON] this time, and everything works as before.
Splendid!
Is there a way to also make it read the SAK values from the dump data ? I will alter the data on all Disney dumps just to have SAK 09 instead of 08, if this is possible. Gratitude
Hi @skylandersNFC , easy, I could make the SAK hardcoded to 08 if you click menu "Load from block0.."
Hi @skylandersNFC , easy, I could make the SAK hardcoded to 08 if you click menu "Load from block0.."
It should be "09" for Mifare S20 Mini for Disney Infinity. Thank you
@skylandersNFC changes have be committed for bellow hardcoded sak when loading UID/ATQA/SAK from block 0 according to tag type: MF mini: 09 MF 1K: 08 MF 2K: 19 MF 4K: 18
Reference: https://www.nxp.com/docs/en/application-note/AN10833.pdf
You could download latest firmware to test via Actions:
https://github.com/solosky/pixl.js/actions/runs/15614134350
Gratitude for the awesome firmware changes. In several hours we will finish the Disney testing.
P.S. @solosky We can confirm that the latest firmware changes work flawlessly for Disney Infinity. The allmiibo device also functions perfectly when stacked with another allmiibo.
Good evening, @solosky Any Plan to add menus for Games like Disney Infinity, Lego Dimensions and Skylanders etc... if so it would be huge, @skylandersNFC did you make the guide you were talking about, I would be very interested in reading/testing it and why not give my feedback on the accessibility and understanding of this guide.
Good evening, @solosky Any Plan to add menus for Games like Disney Infinity, Lego Dimensions and Skylanders etc... if so it would be huge, @skylandersNFC did you make the guide you were talking about, I would be very interested in reading/testing it and why not give my feedback on the accessibility and understanding of this guide.
@TRD2B The main gate : https://skylandersnfc.github.io/Disney-Infinity-NFC/
And here is the guide : https://skylandersnfc.github.io/Disney-Infinity-NFC/Infinity_Docs/Disney_Infinity_on_Allmiibo/
@skylandersNFC Thanks, that sounds great, but if I understand correctly, for every game, Skylanders/Disney Infinity you need a dedicated firmware? Not possible to emulate everything with basic firmware I would say? I take this opportunity to ask, is there a firmware variant and a guide for Lego Dimension?
@TRD2B Now you can use official firmware for Skylanders and Disney Infinity without any problems. When i was making the guide the Disney Infinity firmware changes were not yet public.
They are now after 2.13.0 - https://github.com/solosky/pixl.js/pull/328
And for Skylanders the custom firmware is just for more slots and if you are on Nintendo Switch, it saves you the hassle of changing the SAK values manually, which you can still do with official firmware as well.
Regarding LEGO, i'm still testing it. The initial test failed, so i was wondering if the NTAG21x can emulation even works - https://github.com/solosky/pixl.js/issues/340 Don't know when I will be back on that tho, have a lot of other stuff lately.
P.S. I've updated the Disney NFC Guide, no more custom firmware links, all points to the official 2.13.0 or newer.
@skylandersNFC Thanks to you for these guides, this research work, it's fabulous and @solosky also thank you for making all these changes, I went up the thread of the discussion and can't wait to see if Lego Dimension manages to be emulated, it would be the ultimate device, thank you both and the community.
@TRD2B I’m assuming you have a LEGO Dimensions portal and Allmiibo, since you showed interest here. Could you reach out to me on Discord so we can go over some ways to test the new LEGO dumps on Allmiibo? I’m on the official Pixl.js channel under the same username. Thanks!
@solosky Hi again,
We have several people meddling with LEGO and Allmibo now, and i've been told it works for them with the current firmware. However, when the dump is loaded, it wont emulate the proper UID, which have to be added manually.
So it seems the NTAG family emulation is in a dare need of the new "Load from block0.." feature, or even better - if it's possible to just get the dump UID when the dump is loaded onto the slot ?
Thank you