So I ended up with NTAG216s after making a mistake in the order (the top of the page wasn't clear -- it was in the fine print.) I now have no money to spend and it takes forever besides, so I really kind of need to hope that some progress is made on this front.
Anyway, one thing I've been wondering: is this maybe overcomplicating it? Instead of a whole full-blown app, is there any way that the data can just be manually written via, say, a simple bash script for BusyBox or something? (I think this should be possible even with non-rooted phones. Probably. Er, I haven't been unrooted since I first got a smartphone, so I'm not sure, but I know you can download terminal apps that don't require root and thus presumably assume BusyBox isn't already installed and BusyBox
is designed to be minimal and embeddable after all.) Eg just write the data of the Amiibo manually and then adding FFs or whatever is needed after? Certainly I've seen a few tools that let you send custom commands to a NFC tag but the only ones I've seen so far make you manually type in up to four bytes at a time and there is literally no way I can do all this by hand. Rigging a simple bash script to custom send the data and then handle the rest at the end seems to me like it would surely be at least easier than writing a whole program, GUI and all, and it would be sufficient to get at least a lot of people started on this until such time as a full blown program can be built.
BTW, when I was googling around, I ran across this:
https://community.nxp.com/thread/387536 Specifically this post (removing a bit of whitespace and extraneous data):
- If you want to replicate the same configuration from NTAG215 to NTAG216 you need to shift the configuration data and write it to page E2h instead of 82h.
- You might have a copy of configuration pages in NTAG216 at user data pages 82h to 86h, but this data will not have any effect on the actual tag configuration (locking, UID mirroring, etc).
- To fill the rest of the user memory with FF's in NTAG216 (from pages 87h to E1h) you need to use the WRITE command. The program (Android, Linux or PC app?) should have some API as a wrapper for this command.
I have no clue if this says anything useful or not, but there it is in case it does.