2017年06月

アモスコングバトル4枠のゲームモード書き換えのためにArduinoで遊んでみようと思います。Arduinoの入門書は数冊でているようですが、オライリー社の本が評判良いらしいです。




以前、大手メーカーの情報システム部門に勤務していた僕は、在職時に何冊かオライリー社の本で勉強しました。どの業界にもあてはまることなのでしょうが、専門書は出版社で選ぶというのは間違いではないと思います。もちろん好みなどありますが、オライリー社はしっかりした内容の技術書を出していると思います(少なくとも在職していた10年前までの印象ですが)。

オライリー社は、動物や昆虫のリアルな鉛筆画?の表紙で色々な書籍を出していて、表紙も内容も人を寄せ付けない雰囲気がプンプンしており敷居の高さを感じましたが、Arduinoの本に関しては、「はじめよう」シリーズな感じで、やさしそうな感じです。

オライリー本の内容を実際に試すためのパーツがセットになったArduinoがスイッチサイエンス社から販売されています。


他の会社からも同様のキットが販売されていますが、定評がありそうな感じですので、僕はスイッチサイエンス社のキットを注文。

最終目標はEEPROMの読み書きですので、そのあたりのモノも注文しました。

SOP 8ピンIC用 テストクリップ付き ケーブル (変換基板付き) ISP プログラミング EEPROM 書込み
*ヤフーショッピングにて購入

あと、アモスコングバトル4枠の基盤に搭載されているEEPROMがX24C16という型番のモノで、ネットで調べたところXicor社のEEPROMで動作電圧が4.5V-5.5Vということでした。動作電圧などが似ているAtmel社のEEPROMを注文しました。形式と容量違いといった感じのモノです。

Serial EEPROM【AT24C32A-10PI-1.8】

マルツ電波のオンラインサイトで注文して、店舗引き渡しでお願いしました。

全て、今週中に手に入りそうなので、時間のあるときにぼちぼち楽しんでみようと思います。


アモスコングバトル4枠にプリセットで入っているゲームモード数は32です。おそらくゲームモードの設定情報がはいっていると思しき基盤についているEEPROMは16kbitのものです。

つまり、16kbit = 2KB(キロバイト)です。単純に2KBを32で割ると、2KB/32 = 2046B/32 = 64Bです。

もしかしたらデータの先頭に何かしらの情報が格納されているかもしれませんのが、1ゲームモードあたり最大64Bという感じだと思います。

実際にゲームモードを選択する場合、
1)東家の順位ボタンを押しながら卓本体の電源を入れる
2)ゲームモード選択状態となる
3)集計ボタンで選択ゲームモード番号が増加、終了ボタンで選択ゲームモード番号が減少する
4)ゲームモード番号を選択したら順位ボタンを長押しして決定
という手順で行います。ですからゲームモードの設定情報は固定バイト数なんだろうなと思います。

つまり、機械の中ではゲームモード情報は外部記憶メモリのEEPROMに記録されていて、ゲームモード番号をもとに開始アドレスを決めて、そこから所定のバイト数を読み込む的な処理をしているということです。それを本体の記憶領域に取り込んで、集計作業は本体の記憶領域の情報を参照しながら計算したりしているということです。

はてさて実際はどうなんでしょうね。

使われているEEPROMはI2Cという2線式のシリアルインターフェイスを使うEEPROMのようです。これはArduinoという素人でも楽しめるワンボードマイコンで読み書きができるものらしい。

むむむ、、、、そもそも理系の僕は以前からArduinoに興味がありました。これを機会に挑戦してみようかな。

製造元に確認したところ、アモスコングバトル4は既に販売終了後10数年を経過しているため、仕様の問い合わせや、修理、サポートなどには応じてもらえない状態です。

集計機能や累計集計機能が素晴らしいアモスコングバトル4枠ですが、先日のブログにも書いた通り、プリセットされているゲームモードの中に仲間内で楽しむルールが含まれていません。

今までどおり、点数申告をして手計算すれば問題はないのですが、折角の集計機能が活用出来たらいいのになぁと少々残念です。100点の位を1000点に処理する端数処理を皆が四捨五入で納得してくれれば一番問題ないのですが、やはりそこはコダワリのある方もいるようで・・・

プリセットのゲーム数は32で2の5乗なので、きっと1KBから数KBのROMに情報が書き込まれているんだろなとは予想できます。以前は、メーカー(もしくは販社)がオリジナルゲームモードは設定してくれたということなので、ROMに何かしらの手段で書き込んで出荷しているんだろなと思います。

ちょっと時間があったので、アモスコングバトル4枠の中身を見てみました。

ゲームモード設定は東家でのみできるので、ROMは東家の近くにあるだろうと思い、東家の側のカバーを外してみます。

2017-06-22-12-35-08
東家の左側(利用する場合は向って右側)にスピーカーとボリュームとプリンタケーブル差込口(D-Sub9 pin)がついてました。専用のサーマルプリンターを接続すると、集計ごとに成績がプリントされるようです。

東家のカバーをはずして中を見ましたが、他と比べないと分からないので、北家のカバーを外してみました。よく見ると違うのかもしれませんが殆ど一緒でDIPスイッチの設定が違うくらいでした。

中継電源基盤のケーブルが西家で接続されているので、では次に西家の様子をみてみました。

2017-06-22-13-11-28
トランスが見えるので、これまた電源系の回路なんでしょうね。点数表示部分の裏側基盤は東家、北家と同じでDIPスイッチ設定だけ違う感じでした。

やはりこの手の製品は簡単にいじられないようにわからないようになってるんだなと諦めようかと思ったところ、まだカバーを外していない南家のカバーの隅に小窓がついています。

2017-06-22-13-15-53

むむむ・・・・クサイぞこれは!

めくってみました。
image
他の場所にないものが見える!( ̄▽ ̄)

カバーを外してみましょう。すると全体はこんな感じでした。
image
左上にEEPROMっぽいものが見えます。大きさからして丁度良い容量のROMっぽい。

中ほどにジャンパピンが見えます。昔、パソコンを自作してBIOSを変えたりするときにジャンパピンの刺し方を変えたような経験があるから、データ書き換えるときにここをショートさせるのでしょうか・・・

左下、チャンネル1という使われていないコネクタがあります。チャンネル2にはケーブルが刺さっています。

あと、この回路はネジで外してコネクタ抜いたら、ここの部分だけ取り外せそうです。

EEPROMがソケットをかまして基盤に刺されているのなら、ROMだけ抜いて何かしらの方法で中身を書き換えればよいのですが、しっかり表側から半田付けされています。

ここで色々と推論してみましょう。

*アモスコングバトル4が全盛の時、全国の雀荘で使われるにあたり、オリジナルゲームの設定は結構リクエストが多かったんじゃないか
→いちいち半田付けを外してROM設定していたのでは、半田付けの技術も求めらるし、時間もかかって大変。だから多分、ROMを外さずに設定する方法がある。
→パチンコと違って、ROMの書き換えが違法性を伴う事態にはならなさそうだから直付けROMによる書き換え対策を施しているとは考え難い

*なんで小窓がついているんだろう
→データ書き換えのために小窓から何かにアクセスするため。確認しわすれたのですが、チャンネル2は東家のプリンタケーブルにつながっているような気がする。これをチャンネル1に差し替えるとプリンター接続用のD-Sub9pinがそのまま書き換え用のシリアル端子になる。


物理的に取り外すのは失敗のリスクもありますし技術と時間が必要になるので、ROMが直付けのまま内容を書き換えるのではないでしょうか(あくまで僕の結論)。

出荷時の設定のときはチャンネル2をチャンネル1に付け替えて、東家のD-Sub9pinに端末を接続して設定して、すでに納入済みの枠の設定を変えるときは、基盤だけとりはずしてそれを送って設定を変えてもらったとかじゃないかなぁ(すべて僕の推論です)。

ジャンパピンはEEPROMに付加する電圧を書き込み出来るように上げるためのものじゃなかろうか。。。。

いろいろと想像はしますが、本当のところはよくわかりません。

チャンネル1とチャンネル2は結線数が5本なので、これはどういう信号がやりとりされているのかも興味があります(あくまでD-Sub9pinにつながっているという前提ですが)。

また時間あるときにでも調べてみます。

注意 上記内容は自己責任で行っていることです。同様のことを試されて問題が発生した場合、責任は負いかねます。よろしく〜〜〜

パーツ屋さんで抵抗器を買ってきました。

点棒に使われている抵抗器は1/8Wというタイプのものでした。1個20円(税抜き)です。1000点棒用の100kΩと100点棒用の1MΩを購入。それにしても小っちゃい抵抗器です。

1000点棒用の100kΩの抵抗器を念のためテスターで計測してみました。
2017-06-21-14-19-47
だいたい100kオームですね。

さて、組み立てです。
2017-06-21-14-22-30
抵抗器の両側のリード線に鉄芯を被せ点棒の中に入れます。軽く両側を折り曲げた感じで挿入し、リード線を両端で折り返すのですが、やや苦心しました。

リード線を折り曲げたら、点棒の金属部分を被せて両側をネジ止めします。

出来上がりも念のため計測してみましょう。
2017-06-21-14-31-57
99.9kΩ まぁ誤差の範囲ですね。

1000点棒2本と100点棒1本をつくりました。

2017-06-21-14-40-16
ちゃんと使えるか、点数枠でも試してみましょう。


2017-06-21-14-40-34
うまく認識してくれているようです。メデタシメデタシ

アモスコングバトル4枠には点棒がたくさんついてきました。
image
すべての点棒をテスターで計測したところ、1000点棒2本が無反応でした。おかげで1000点棒は予備点棒なし状態です。ヤフオクで落札も考えましたが、ちょうど出品なし。

よし、点棒を分解しみよう!ということで以前100点棒を分解した経験をもとに両脇のネジを取り外すも、金属部分が、、、とれなぁい。

ペンチで挟んで力づくで何とか取りました。


2017-06-18-18-37-28
リード線が断線してました。

点棒を振るとカチャカチャ音がするので何かと思ったら鉄芯がはいってました。これはどうやら、サイコロボックスに1000点棒を置いたら「リーチ!」って発声させるためのようです。残念ながら我がアモスノアのサイコロボックスはシンプルなタイプのため、鉄芯入りの点棒を置いても「リーチ!」って言ってくれません。

2017-06-18-17-09-40
それにしてもこの抵抗器ちっさ!!!

調べたところどうやら1/6Wというタイプみたいです。電子部品屋さんだと100本100円くらいで売っているようです。やすっ!!

電子部品に関しては福井にはマルツ電波という頼れるお店があるので、今度覗いて来ようと思います。ヤフオクで買うより随分と安く済みそう〜〜


↑このページのトップヘ