Piñata Vision barcode/Pest cards

From PinataIsland.info, the Viva Piñata wiki
Jump to: navigation, search

Species IDs for the sour (pest) cards come from the species ID table.

Based on known obfuscation set progression, valid generated sour cards would likely use the same obfuscation as a card 2, 8, 32, 512, 1024, or 2048 IDs distant from them.

ID Binary Species Look for cards with this ID and flip...
Bit 11 Bit 10 Bit 9 Bit 5 Bit 3 Bit 1
64 01000000 zz1lemmingpest 2112 1088 576 96 72 66
102 01100110 zz3rhinopest 2150 1126 614 70 110 100
107 01101011 zz3skunkpest 2155 1131 619 75 99 105
110 01101110 zz2scorpionpest 2158 1134 622 78 102 108
127 01111111 batpest 2175 1151 639 95 119 125
146 10010010 crowpest 2194 1170 658 178 154 144
147 10010011 raccoonpest 2195 1171 659 179 155 145
148 10010100 crocodilepest 2196 1172 660 180 156 150
150 10010110 molepest 2198 1174 662 182 158 148
155 10011011 wolfpest 2203 1179 667 187 147 153
156 10011100 mandrillpest 2204 1180 668 188 148 158
160 10100000 snailpest 2208 1184 672 128 168 162

Find a likely card that can be bit-flipped

Red Flutterscotches (ID 100) are two IDs away from zz3rhinopest's species ID of 102.

RedFlutterscotchPV      100     A24CFBF76904CC69                                                        ID = 000001100100  100

By examining the last character of the barcode row, we determine that this particular Red Flutterscotch card belongs to obfuscation set 9. We now need to discover what barcode bits need to change, to flip bit 1 for this particular obfuscation set.

To flip obfuscation set 9 ID bit 1

Bitmask to flip ID bit 1 is 0000310005400000. We determine this by finding a pair of identical-type cards (that only differ by ID bit 1), which also share the same obfuscation as the card to be bit-flipped. We compare what actual bits change between the two cards, ...

BuzzlegumLifeSweet-P	0	964ED4F3FC442C29                                                	ID = 011010001100 1676 o -1676
TafflyLifeSweet-PV  	0	964EE5F3F9042C29                                                	ID = 011010001110 1678 o -1678

egrep "(Buzzlegum|Taffly)-TroubleInParadise-LifeSweet" barcodes.txt | ./barcodetxt2bitdiff.pl --short | ./bit_diff.pl --nomatch
                                             444222
 Description           VPID Barcode          540642
---------------------------------------------------
BuzzlegumLifeSweet-P      0 964ED4F3FC442C29 010101  0x0000 0b0000000000000000
TafflyLifeSweet-PV        0 964EE5F3F9042C29 101010  0x0000 0b0000000000000000

Red Flutterscotch -> Sour Limeoceros

... and then flip the same bits in our likely-obfuscated (Red Flutterscotch) card, to change its ID by 2 to the rhinopest ID.

0000310005400000 XOR bitmask
A24CFBF76904CC69 Red Flutterscotch (ID 100)
A24CCAF76C44CC69 Sour Limeoceros (ID 102)

The card scans, and we've discovered a generated Sour Limeoceros card.

Further discoveries

ID Predicted barcode Discovered by Result
64 81E239A4C91A269D Daremo 001 Sour Lemmoning
102 9686E0C56B679F08 FeralKitty Sour Limeoceros
107 A2682406480B5672 FeralKitty Sour Smelba
110 9687E4C56B679F08 shrly Sour S'morepion
147 DB7FDA14B87B92B4 Ss I Tartan Sour Macaraccoon
155 DB76DA14B87B82B4 Daremo 001 Sour Mallowolf
160 CBEFFA16F96B90B41 Daremo 001 Sour Shellybean
127 9697C4D52B679F08 shrly Sour Sherbat
148 B1E078A0C91A0F1D Daremo 001 Sour Cocoadile
150 B9E078A0391A0F1D Daremo 001 Sour Profitamole
156 B1E078E0C91A0F3D shrly Sour Bonboon
146 D76190A07C3D2A6B FeralKitty Sour Crowla

1See Using predictions to generate other predictions for an example of how this particular barcode was generated.