MP01-IONA-JS(JAMMA-JVS) ファームアップデート備忘録

MP01-IONA-JS (JVS-JAMMA変換基板) ※1.01基板

先日KVC lab.で発売されたJVS-IO基板「MP01-IONA-JS」を、おっ小さいしオープンソースだしええやん~という事で2枚程購入していたのですが、買った後にテストボタンとサービスボタンに対応していない事に気付き、ちょっと常用には難しいかな……としばらく放置していました。

その後しばらくしてたまたまサポートサイトを覗いた所、基板及びファームウェアが新しくなってテストボタンとサービスボタンに対応、かつ自分の購入した旧基板(1.01)でもファームウェアのバージョンアップと配線追加で対応可能と知り、早速やってみたので備忘録として記事にしておきます。
ちなみに結論から言うと無事成功しました。

※この記事はVer1.01基板からVer1.10相当へ更新した際の手順を記載したものですが、他バージョン基板でのファームウェア更新についても、 基板配線修正の項目以外は同様の手順で行えるかと思います。詳しくはサポートページをご参照下さい。

更新準備

IONA-JSに使用されているATmega32aのファームウェア書き換え方法はいろいろあるのですが、サポートページに記載のあった格安ライタが手っ取り早いでしょ、という事でAmazonで使えそうな物を適当に発注。

※2019/10/08時点で上記プログラマは売り切れ(プレ値出品のみ)となっているようですが、USBaspで検索して出てくる同様のプログラマは大体使えるかと思います。後述の通り、物によっては10ピンの配置が微妙に違う事もあるようなので、商品レビューとかその辺りも参考に。(全く同じ物を1000円以上のプレ値で買ったりしなくても大丈夫ですので…)

買った後で気付いたのが、このプログラマは接続ハーネスが10ピンの為、IONA-JSの6ピンに接続するには変換が必要との事。10ピン-6ピンの変換基板も安いし買えば良かったのですが、プログラマ届いた翌日に秋葉原でAitendoに寄った際、ピンヘッダ接続用のケーブルが格安で置いてあったのでそれで代用。後述のピン配置問題があった事を考えると、下手な基板を買うよりはこちらの方が柔軟に配線変更できるので正解だったのかも。

お安いやつ

ファームウェアを更新する為に、まずはIONA-JSにICSP端子を生やします。

ヘッダピン切って
植える

ICSP端子10ピンと6ピンのアサインについてはこちらのサイトが分かりやすかったので参考に……したのですが、該当するピン同士を結線した筈がエラーが出て書き込みできず。
場合によってUSBaspのバージョンを上げる必要が~みたいな情報もチラ見したので、それもやらなきゃダメかなーっとUSBaspのバージョンアップ方法探しててたどり着いたこちらのサイトの情報で問題が解決。
>この製品は4番ピンと6番ピンに TXD / RXD が結線されています
GNDを4番ピンに接続してました……。

最終的には以下の通りに配線して成功。

6pin(MP01-IONA-JS)10pin(USBasp)
1 (MISO)9 (MISO)
2 (VCC)2 (VCC)
3 (SCK)7 (SCK)
4 (MOSI)1 (MOSI)
5 (RESET)5 (RESET)
6 (GND)10 (GND)
結線完了

ファームウェア更新

基板側の準備が終わったのでようやくアップデート作業。
Windows10環境でのUSBaspのドライバは先程のサイトZadigを使用したインストール方法が載ってたのでそちらを参考にインストール、後は書き換えツールとしてavrdudeの入っているWinAVRもインストール……したのですが、どうやらArduinoIDEに付属のavrdudeでも良さそう。確かにどっちもATmegaだった。

ぶっ刺し

後はサポートサイトから最新バージョンのhexを落としてきて、コマンドラインで
avrdude -v -p m32 -c usbasp -P usb -U flash:w:"v1_10.hex":i
と実行してアップデート完了。
※コマンドライン注釈 … -vでメッセージ出力、-pで書き込み先マイコンを指定、-cでプログラマの種類を指定、-Pでプログラマの接続先を指定、-Uで処理を指定(“flash”へ “I”ntel-Hex形式ファイル”v1_10.hex”の内容を”W”rite)

アップデート完了

この時点でミスってないかとりあえずの動作確認…と行きたい所ですが、まだテストボタンの追加配線をしていない為、普段繋いでいたTypeXではテストモードでのチェックができず。取り急ぎ基板上の操作でテストモードに入れるNAMCOのSystem12なアクアラッシュを引っ張り出してきました。(DIPスイッチ1のONでテストモード)

アクアラッシュ
JVS Cabinet Optionsでバージョン確認

基板配線修正

次にサポートページの配線修正方法に従ってテストボタン・サービスボタンの配線を追加。
テストボタンの配線はDIPスイッチ足から~とあったのですが、面倒だったので裏から線を回して、使わなさそうなスルーホール通して表へ。それぞれジュンフロン線で配線(抜き差し考えると太めの線の方がいいかも……?一応ホットボンドで固定はしました)

表面
裏面

以上で配線完了。無事ブラストシティ筐体のテストボタン・サービスボタンが効くようになりました。

アクアラッシュ(System12)
TGM3(TypeX)テストモード確認

無事対応も終わったのでじっくり試したい所ではありますが、部屋が混沌としているのでじっくり遊べなくて悲しい。店に持って行ってロケテでもしてもらうか……。

テストサービス対応が主目的でしたが、初期基板であったコインのチャタリングもアップデートで対応された模様。確かに初めにテストした時めっちゃクレジット入る事あったので丁度よかった。

ソース書き換えて諸々挙動変更できるので、ラグ少ないとかの性能の良さはもちろん、専用筐体系の基板試す時とかも役立ちそうです。楽しみ〜。

ロケテ(?)始めました ※2019/10/01追記

TGM3 with IONA-JS

上記改造を行ったMP01-IONA-JSを、WGCのTGM3に導入してみました。
自分でちょっと遊んだ感じでは問題無く、元々入っていたセガI/Oに比べるとたま~に感じたモタりが少なくなったような……気がしますがそんなに上手では無いのでわからん。上手い人やってみて~。
※都合により今後I/Oボードが変更となる場合がありますので、ご了承下さい。

コメント