第三工場

第三工場

趣味のドラクエウォークと開発品や検証品の紹介をしています。間違いがあればご指摘ください。

 

image

KG-93には基板タイプがフラッシュROMとDIPROMの2種類があり今回はDIPROMタイプのお話です。

※フラッシュタイプは現行機でメーカーに依頼すれば改刷可能です。

では本題、後継機種は「TF700」シリーズ10万円程度するので何とか魔改造したいところです。

この基板には256ROMが搭載されているので解析の余地ありということで作業開始。

imageimage

まず、ROMの吸出しは問題なく完了。使用しているCPUはNECの「D78C10AGF」結構古いCPUらしいです。

ネットで仕様書は見つけたものの開発系ソフトは見当たらず逆アセンブラはGITHUBに半端なものは落ちてましたが動きませんでした。よって、逆アセンブラを作ることから始めます。

C++でオペコード「00h」から「FFh」まで総当たりで書き出した単純なソフトです。

このソフトにBINファイルを読ませるとこのように出力されます。

ココからは地道な追いかけ作業、リセットBEQやINTBEQを重点的に調べると大体見えてきます。

やることは異金種検知機能の無効化です、どんな手法で検知しているのかワクワクですね。

物理的・ソフト的にセンサーを誤魔化す方法、ソフトに新札データを追加する、そもそも判定をしないなど色々な手段を考えていきます。金銭機器なのであまり詳しく書けません、ご理解ください。

実際の作業はというとコードとにらめっこして怪しい部分を書き換えてはROMで試しの繰り返し!

image

いつも思いますが他人の組んだプログラムは新たな技法の発見があり勉強になりますね。

試すこと3日、ROM書き40回程度である方法が効果を発揮、見事R6新札が通り抜けました!!

 

左が無改造機、右が魔改造機の動画です

 

 

最後にチラ見せしている白紙は改造に関係なく通るものなんです念のため。

 

 

 

 

 

めでたしめでたし

 

 

画面が出ないという依頼内容で送られてきました

「DEP9801M」基板、カスタムICが載っていないことから2732x2のアノ基板ですね。

加工配線はROMのデータ線をON/OFFする回路LS244ラインドライバーの!1GをVCCから切り離してアドレスデコーダのGALに繋がっている

GALの役割はアドレスに対してROM・RAM・IOの出力を振り分けることです

回路はROM・RAM・IO共にアドレス線・OE・CSは常にスルーとなっています。データ線をそれぞれLS244などを経由させてGALによりON/OFFさせてます。

例を挙げるとROM2764を使ったときROM実アドレスは「0000ー1FFF」しかしこの基板のMAP位置は「6000-7FFF」、RAM「1000ー17FF」、IO「100」6502のリセットベクタは「FFFA、FFFC、FFFE」です

そのままではRAM、ROMが同じ領域でリセットベクタが離れすぎています

このアドレスを振り分けるのがGALです、イメージ的には「FFFE」のアドレスが要求されたときに2764のデータ線を有効にして「1FFE」のデータを出力します、同様に「1500」をアクセス時にRAMのデータ線を有効にして「0500」を読み出す、この方法でアドレスをデコードして「0000-FFFF」をフルアクセスしています

Z80系であればIO専用命令で明確に認識できますが、6502は専用命令が無くIOとメモリの区別ができないのでこのような使い方になっているようです。

GALの配線を調べるとアドレス7本を入力としているので00-7Fの範囲で制御しているのがわかります

FE=IO、DF=CRTC、F7=RAM、FB=ROMをアクセス制御

ここでトラブル判明、違うGALです!

なぜか?ROMのアクセスは「FBh=11111011b」ROMを有効にするには前記の配線改造により2か所”0”が必要なはずなのに1か所しか”0”がない、ということはLS244のデータ線が有効になっていないということですね

回路を確認したところF9h=11111001bが正解とわかりました、GALを書き換えて動作正常になりました

でも疑問、LS244の!1GはGALではなく同ICの!2Gに繋ぐだけで良くね?それなら「FB」でGALは合っていた、謎の改造!

そもそも動いていたのか?いじり倒してお手上げになったのか?はたまた別基板にROM乗せ換えたのか? 謎が残ります

 

 

 

 

<モニターにお店の宣伝や好きな写真を表示する方法>

 

 

<券面に画像を入れる方法>

券面の先頭にお店のオリジナルロゴなどを印字したい場合は外字登録ではなく

画像登録した方が簡単にできます。

この時の作成画像のサ432x96で2色のbmpファイルです。

432ドットは幅なので固定ですが、96ドットは高さで96の倍倍設定が可能です。

印字させるには券面設定で長さを変更して図が入る部分を空白で確保する必要があります。

 

 

 

LCアプライアンスのSTREX55の改造です。

 

左がSTREX55、右がSTREX50plus

使っている紙幣識別機のサイズ分高さが違うようです。

 

今回は識別機が小さい方の改造です。

まず、ノーマルで新札を払い出してみます。

1000円札をこのような順にセットしてます。5枚目に新札をセット。

 

5枚目の新札でエラーですね、なので識別機の交換だけでは対応不可です。

 

構成はplusと同じですね。

制御部は底にあります。

K社の汎用制御基板を使用してますが資料がありません。

両替程度の機能なら解析するより作ったほうが早い!

 

紙幣識別機はパナソニックのシリアル通信タイプです、同社は事業撤退で後継機は入手できないので別の機種に換装します。実際はS社が互換機を出してますが入手は難しいかと。

左が新券対応互換機、見た目も通信コマンドも同じです。

(PLUSのコンラックス製NB4-4MB3とは通信コマンドが違う、コネクタの形状は同じですがピン配置が違います)

要は本体に収納できればいいだけなので同サイズで入手が容易な機種でSB20-Sという識別機を使います。

image

こちらの規格はシリアル通信で受入れ金種は1000、2000、5000、10000です。

サイズは完全一致なのでキレイに収まります。

あとは払い出し機とのインターフェース基板を適当に作ります。。。

 

image

 

紙幣払出し機にエラー防止のおまじないをかけて完成です!

 

 

基板まで作って、後日気付きましたが識別機はマースのアレだと配線加工だけで使えますね。

 

 

 

 

 

 

 

メーカーはすでに廃業していてメンテ不可の製品なので独自に復活させます!

この両替機は1万円、5千円、2千円札を千円札に両替する高額紙幣専用機です。

集計機能とかは一切なしで単に金種の交換だけに徹するコンパクトマシン。

 

内部は単純明解これだけです。入金部の下にコントロール基板があります。

分解してみます。上部は1000円札の払い出し部です。コンラックスBD300が使われてます。

内部のゴム類は劣化している場合が多く要交換です。

販売終了品のためメーカーメンテは不可です。

下部は入金部、券売機や両替機などでよく見るモノですが、通信仕様が違いますので要注意!!

こちらは現行で販売してるので新札対応は交換で可能です。

 

しかし、払出に問題あり!!そのままでは異金種検知が働いてエラーが出ます。

でも、おまじないをすると、ほーらね!

今後もしっかり稼働を続けてくれそうです。

 
 

 

 

 

 

 

だいぶ中古価格が下がってきたスマスロ、でも家庭で遊ぶには今までとは違いコイン貸出しユニットが必要。

ネット上で販売はされてはいるものの20000~40000円とチョット高額!!

ユニット付きで販売されているスマスロもありますが買ってみたらデータランプが付けられなかったり付けてもデータがメチャメチャだったりと不満がいっぱいだったので自分で満足いくものを作ってみました。

 

<レシピ>すべて「秋月電子」で入手可能です

まず、接続のコネクタですがRS-232Cに使われるD-SUB9ピンという一般的なものです。

続いてコントロールマイコンは手元にあった16F1827一般的なPICマイコンです。

電源は外部からの供給なので5VのUSB充電器とかACアダプタなどを用意。

(知識があればスロット内部から5Vを拾えます)

あとはデータランプに接続するのでアノ肌色のコネクタです。

 

<回路図>

この図を基にユニバーサル基板で試作

サンプルなので適当に配線。REGは9Vの角電池で駆動させるために付けました。

テストなのでフォトカプラはナシです。

ハードはこれだけです。貸出しだけで良ければ真ん中のIC1個だけで動きます、他は動作確認用のLEDなので不要です。

通信速度が少し早いので16MHz以上のクロックが出るマイコン推奨です。

 

<通信について>

実はこのユニット通信のコマンドフォーマットはマル秘資料ではなく一般に公開されてます。

公開資料なので公表してもいいのでしょうが概略だけ。詳しく知りたい人はネットで検索してみてください。(ヒントは特許情報)

 

<通常ループ>

重要なデータ通信は300mS毎に行われています。

1.ホールコン情報の通知 スロ>ユニット

2.計数データの通知 スロ>ユニット

3.貸出しデータの通知 スロ<ユニット

4.貸出しデータの応答 スロ>ユニット

以上の4つの繰り返しです。

1,2,4はスロットからユニットへの通信、ユニットからスロットへの通信は3番だけです。

<特別ループ>

これとは別に60秒毎に機種情報、3分毎に設置情報がスロ>ユニットに通知されますが、無視しても問題ありません。

 

<通信データのフォーマット>

受信データの詳細

No1.電文長(1バイト)受信データの全体が何バイトか。

No2.コマンド(1バイト)データが何の種類かを示します。

No3.通番(1バイト)通信毎に+1されます。

No4.データ(1~53バイト)ココを解析してデータランプに表示します。

No5.サム(1バイト)単純に全データを足した下2桁。

 

<ソフト作成>

No2.がホールコン情報の通知のときにデータランプに表示できるように波形に直す作業。

No2.貸出しデータの通知のときにクレジット投入制御する(遊ぶだけならコチラだけでも可)

 

ホールコン情報には機種情報、持ちコイン枚数、エラー情報、IN/OUT/BB/RB/AT情報、払出、リプレイなどが細かく出力されます。

 

ポイントとしてはユニットが抜けた時の復旧処理をします、これをやらないと約75秒の貸出しホールド状態でクレジットを入れられない状態になります。

 

<試作品>

データカウンターをつなげるために作りましたが、ポートが余っていたので

ゲーセン用にメーター出力と100円入力、クレジット数を変更できるようにした基板です。(景品払い出し機能は無いので遊ぶだけです)

操作系の制御が要らないのでメダル仕様の機械より簡単にゲーセン仕様が作れてしまいました。

 

 

単純に遊べれば良いという場合はボタンを押すと50枚づつクレジットが上がる仕様

乾電池はお勧めできません、駆動できる時間が短い!!