大人気のおもちゃ、妖怪ウォッチ。

大きな腕時計型のウォッチにプラスチックの妖怪メダルを差し込むと、メダルごとに違う種類の妖怪が召喚されて、ウォッチから召喚ソングと妖怪の名乗りが聞こえるというものですが、このウォッチ自体が超品薄状態でプレミアムが付いてる。ウォッチが手に入っても、メダルがまた品薄な上に、全種類コンプリートさせたい収集欲を煽るようになっていて、実にやっかいです。

糸車戦車から真空管大出力送信機まで、欲しいおもちゃが手に入らなければ自分で作ることを旨としてきた昭和の自作派としては、メダルぐらいは作らなくては。

というわけで、妖怪メダルを解析してみました。PC Techknow 6000 執筆以来、30ン年振りのリバースエンジニアリング。




ウォッチがどうやってメダルの種類を識別しているかというと、メダルの中にチップが埋め込まれていてRFIDで……なんてことはありません。

妖怪ウォッチをメダルの差し込み口方向から見たところ。黒いスイッチが4つ横に並んでいます。

で、これがメダルの裏側。メダルの真ん中あたりに凸型に盛り上がっている部分がありますが、この面を下にしてウォッチに差し込むと、この盛り上がった部分が順にスイッチを押し下げて、スイッチでパターンを読み取る仕組みです。

凸型は4段あって、1段が横に4つの部分に分かれていてそれぞれをスイッチで読み込むので、単純に考えれば4×4=16ビット、65536通りのパターンが仕込めます。

メダルの裏のQRコードのシールに小さく数字が印刷してありますが、この数字が妖怪の種類ごとに違っているようなので、メダルを数字順に並べて凸凹の列とにらめっこした結果……分かりました。

メダルには妖怪の番号の情報しか入っていない

4段のうち、妖怪の種類を示しているのは最初の3段だけ。凹凸が2進数になっていて妖怪の番号を表しています。
ウォッチ側では番号を読み取って、番号に相当する妖怪の登場音を再生しています。
音のデータは、ときどき発表される「レジェンド」という限定ものも含めて、あらかじめウォッチの中にすべて埋め込まれています。

メダルの突起は2進数

さて、メダルのどの突起が2進数のどの桁に相当するかを図にすると、こうなります。

ウォッチを上から見て一番右側にあるスイッチがLSBで、一番左がMSB。メダルを裏から見ると、逆に一番左がLSBになっていて、メダルが凸型に出っ張っていて、スイッチが押し下げられる部分を1、出っ張りがない部分を0と読む2進数になっています。

ただし、全部のビットパターンが使われているわけではありません。

最後の段には妖怪情報は入っていない

まず、最後のD段は、左から0101のパターンに固定。たぶん、0101が出てきたら「ここで終わり、メダルが最後まで差し込まれた」と判断する終端信号。

残りのA〜Cの段で2進数を表していて、A段が一番上の桁、C段が一番下の桁です。

最初の段は真ん中の2ビットだけ

最初のA段は、一番左と一番右が必ず1。真ん中2ビットだけ使っていますので、以下の4通りしかありません。

ビット列
1001 0
1101 1
1011 2
1111 3

残りの2段は変則13進数

残りのB段とC段は4ビットをフルに使っていますが、

0000
0101
1010

の3つのパターンは使われていません。

0000 は、凸部分がないので段と段の間のなにもないところと区別が付かなくなってしまうので使えません。
0101 は4行目の終端信号と同じなので禁止。
1010 は理由がわかりませんが、将来出てくるメダルで特殊なマークとして処理するようになっているのかもしれませんメダルを逆から挿入したのを、D段の0101がひっくり返った1010で検知するために禁止。

以上の3つのパターンが使えないので、B段とC段は以下のような変則13進数になっています。

ビット列
0000 禁止
1000 0
0100 1
1100 2
0010 3
1010 禁止
0110 4
1110 5
0001 6
1001 7
0101 禁止
1101 8
0011 9
1011 10
0111 11
1111 12

ビットパターンは二度使い禁止

それから、一度出てきたビットパターンは、それ以降の行では使わないルールになっています。
同じパターンを2回検出したらメダルを途中で引き抜いたと認識するようになっていると思われます。

BC段には欠番あり

最後に、理由はわかりませんが、B段とC段で表される数が小さい方から43個のパターン、具体的にはB段が1000〜1100になるパターンの全部と、B段が0010でC段が1000〜1011のパターンは使われていません。

これは、A段が繰り上がってBC段が0に戻っても繰り返します。

結果

以上のルールに沿ってビットパターンとメダルの番号を並べた表を作りました。

実際のメダルのビットパターンを集めて解析している先達のブログを参照して、答え合わせ済みです。

参照:sinrockのブログ
http://ameblo.jp/linatomoyar/

 

A段 B段 C段 番号 妖怪
1001 0000 すべて    B段0000は禁止
1000 すべて    BC段下位は欠番
0100 すべて    
1100 すべて    
0010 0000    
1000    
0100    
1100    
0010    
1010    
0110    
1110    
0001    
1001    
0101    
0011    
1011    
0111 1 ぶようじん坊
1111 2 がらあきん坊
1010 すべて    B段1010は禁止
0110 0000    C段0000は禁止
1000 3 さきがけの助
0100 4 ダラケ刀
1100 5 ザンバラ刀
0010 6 ダララだんびら
1010    C段1010は禁止
0110    B-C段重複
1110 7 ちからモチ
0001 8 やきモチ
1001    A-C段重複
0101    C段0101は禁止
1101 9 カブトさん
0011 10 ゲンマ将軍
1011 11 黄泉ゲンスイ
0111 12 メラメライオン
1111 13 グラグライオン
1110 0000    
1000 14 轟獅子
0100 15 しょうブシ
1100 16 まさむね
0010 17 むらまさ
1010    
0110 18 くさなぎ
1110    
0001 19 ベンケイ
1001    
0101    
1101 20 からくりベンケイ
0011 21 やまと
1011 22 カブキ猿
0111 23 クワノ武士
1111 24 クワガ大将
0001 0000    
1000 25 オオクワノ神
0100 26 くしゃ武者
1100 27 なはまげ
0010 28 ズルズルづる
1010    
0110 29 かぜカモ
1110 30 わすれん帽
0001    
1001    
0101    
1101 31 ばか頭巾
0011 32 つづかな僧
1011 33 やめたい師
0111 34 もうせん和尚
1111 35 わらえ姉
1001 すべて    
0101 すべて    
1101 0000    
1000 36 青くちびる
0100 37 バクロ婆
1100 38 ババァーン
0010 39 ドクロ婆
1010    
0110 40 モテモ天
1110 41 モテマクール
0001 42 モテヌス
1001    
0101    
1101    
0011 43 でんぱく小僧
1011 44 でんじん
0111 45 はつでんしん
1111 46 うんがい鏡
0011 0000    
1000 47 ヤミ鏡
0100 48 まぼ老師
1100 49 かげ老師
0010 50 ほう老師
1010    
0110 51 さとりちゃん
1110 52 よつめ
0001 53 天狗
1001    
0101    
1101 54 ほむら天狗
0011    
1011 55 キュウビ
0111 56 犬神
1111 57 だるだるま
1011 0000    
1000 58 だるまっちょ
0100 59 ゴリだるま
1100 60 ムリカベ
0010 61 むりだ城
1010    
0110 62 シロカベ
1110 63 ヨロイさん
0001 64 モレゾウ
1001    
0101    
1101 65 プルファント
0011 66 トオセンボン
1011    
0111 67 くろがねセンボン
1111 68 ふじのやま
0111 0000    
1000 69 さくらのじま
0100 70 グレるりん
1100 71 ゴクドー
0010 72 アニ鬼
1010    
0110 73 武者かぶと
1110 74 かぶと無双
0001 75 オオツノノ神
1001    
0101    
1101 76 ドウカク
0011 77 ギンカク
1011 78 キンカク
0111    
1111 79 プラチナカク
1111 0000    
1000 80 ロボニャン
0100 81 ゴルニャン
1100 82 だいだらぼっち
0010 83 うみぼうず
1010    
0110 84 しゃれこ婦人
1110 85 カラカラさん
0001 86 ほね美人
1001    
0101    
1101 87 セミまる
0011 88 カゲまる
1011 89 ヒグラシまる
0111 90 さむガリ
1111    

表が大きすぎて、あふれてしまったので、残りはあとから別のページに上げておきます。

さて、この表を使って、100均で買ってきたおゆまるとエポキシパテで作った自作メダルで召喚した山吹鬼。