Hey all,
I started looking into reverse engineering the Super Mario products and would like to start a discussion about the topic.
As was brought up before, Mario uses the known Lego BLE protocol to communicate, so it's not really difficult to make that happen. My own implementation can talk with Mario and get the following info so far:
Game state changes
Idle
Game started
Goal reached
Time running out (15s left)
Time up
End-screen no longer visible (or something like that, happens 9s after Time Up/Goal reached)
Coin counts (Mario apparently has several different coin counters for different things)
Regular enemies
Double Jump enemies
Multi-jump/boss
Walking
Flying/Cloud
Turntable
?-Box
Time Bonus
Pants-Type
Scanned Tag
Current surface type he's on
Interestingly enough, it appears that Mario doesn't notify me about special events like stars, mushrooms, etc. Does the official app display anything when you happen to get a star?
Now I'm looking into the barcodes. They consist of 5 colored stripes that repeat a bunch of times. There are (from what I can see so far) 8 colors (Red, Green, Blue, Yellow, Pink, Purple, Light Green, Light Blue).
So far, all my tags start with Red and Green, the remaining 3 stripes are different. Here's a list of what I have so far:
Maybe you guys can share some other tags you already own, the goal of course is to find a pattern and decode them or even generate new tags.
At this point it's not known to me if Mario can recognize unknown but well formed tags and pass them via the BLE connection or if he will refuse to read them altogether.
The Internal ID columns represent what numbers Mario will send via BLE when the given tag is scanned, I suppose there is some connection between the color pattern and the number, but that's not a given a this point.
So yea, I was hoping to get some discussion going, trying to get some secrets out of him :)
Bonus footage, a little video of the data being sent by Mario, not overly exciting, but you can kind understand how it works... (Warning, quite technical)
https://www.dropbox.com/s/fy8nfec3vxofk1n/2020-08-03_18-38-24.mp4?dl=0