フォト
2019年10月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
無料ブログはココログ

« MSXのジョイスティックポートを使ったシリアル通信 (1) | トップページ | Aliexpressで久しぶりにひどい製品が到着 »

2019年2月25日 (月)

MSX用ゲームカートリッジのROM交換

先日入手したプログラマ XGecu TL866II Plusの練習として、
MSX用ゲームカートリッジのROMの書き込みを行ってみました。

以前、安価に入手したゲームカートリッジを使いました。

Dscn9716

ゲームカートリッジ基板の、元々付いていたマスクROMのM38128A-F7を取り外し、
ICソケットを装着しました。

代わりに EEPROMのWinbond W27C512(上の写真の左のIC)を装着します。
16kバイトのマスクROMの代わりに64kバイトのEEPROMを取り付けです。

まずは、取り外したマスクROMのデータを吸い出します。

Dscn9685

M38128Aは、利用しているプログラマソフト のICリストに登録されていなくて、
難儀したのですが、AMDのAM27128Aを選択し、Pin DetectCheck IDのチェックを
外すことで、データの読み取りが出来ました。

02

一旦、吸い出したデータをファイルに保存します。

次にWinbond W27C512への書き込みを行います。

ここで、マスクROMのM38128AWinbond W27C512はピン配置と読み出しの
インタフェースはほぼ同じですが、容量が異なります。

基板のICピン割り付けを調べると、元々あったところにWinbond W27C512を置くと、
アドレスピン A15A14が+5Vとなります(下図の黄色の部分)。
(IC外側信号:カートリッジの端子からの信号、内側はIC ピン信号割り付け)

01

A15A14がHIGHなので、元々あったM38128Aの16kバイトは、
Winbond W27C512の 0xC000H ~ 0xFFFFH の領域にマッピングされます。

ですので、吸い出した16kバイトのデータは0xC000h ~ 0xFFFFH に書き込みます。

Dscn9688

書き込みは10秒程度で完了しました。う~ん、早い、お手軽です。
Winbond W27C512を装着、

Dscn9693

ここで、 想定外、ありゃ、ふたがしまりません。諦めることにします。

Dscn9696


気を取り直して、動作確認、無事起動しました。

Dscn9701

問題なさそうです。

Dscn9709

カートリッジに収まらなくなってしまったのは、あれですが、
マスクROMを容量の異なるEEPROMに交換できることが分かりました。

ついでに、このカートリッジが利用している信号を調べてみました。
グレーの箇所は、端子が無く信号は来ていない部分です。
表は、参考文献より引用し、加工しています。

03

CS1がROMのCEに接続、SLTSLがOE(出力有効)に接続、後はアドレスバスとデータバス、
ROMだと意外と単純な制御でデータの取り出しが出来るようです。
参考文献のタイミングチャートを見ると、RDとSLTSLが同じタイミングなので、
SLTSLで、読み出しのタイミングを取っていても良いようです。

参考文献
テクハンwiki化計画 Appendix A.7 カートリッジ ハードウェア仕様

« MSXのジョイスティックポートを使ったシリアル通信 (1) | トップページ | Aliexpressで久しぶりにひどい製品が到着 »

MSX・レトロPC」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: MSX用ゲームカートリッジのROM交換:

« MSXのジョイスティックポートを使ったシリアル通信 (1) | トップページ | Aliexpressで久しぶりにひどい製品が到着 »