特別付録 −−− 更なる改造のヒント −−−
ここでは、更なる改造のヒントを書いておきます。ちょっと不親切な書き方ですが、付録ですので大目に見てやって下さい。
1 SRAMを切り離すスイッチを付ける
立ちあげ時にはSRAMの内容が読まれないようにするスイッチを付けます。
これにより、SRAMの内容がおかしくなった時などにも後差しせずにすみます。
やり方は簡単です。まず、10kオームの抵抗をLS139の1番ピンと5Vの間にいれます。
SRAMの/CSと同様です。そして、スイッチは足が2つのものを使います。
足の片方に/SLTSL、もう片方にLS139の1番ピンを繋ぎます。
スイッチがONの時は、/SLTSLがほぼそのままLS139(1)に入りますが、
スイッチがOFFの時はLS139の1番ピンは5VとなってSRAMアクセスが出来ず、
SRAMが切り離されることになります。
2 SRAMを増やす
回路的には大した事はありません。増やした分のSRAMの/CS(22)以外のピンは元からあるSRAMの同じ番号
のピンとくっつけるだけです。元の基板の上下のSRAMがくっついているのと同じ感じです。
SRAMが4個(128kBを4個)までは10kΩの抵抗をSRAMの数だけ増やすだけで済みます。LS139の2ピンに/RESET
の代わりにB5を入れます。LS139の出力は/Y0、/Y2、/Y1、/Y3の順に使ってください。つまり、後でSRAMを
増やすため、とりあえずLS139の2ピンにB5をつなぎSRAMを2個だけ実装する場合、/Y0、/Y2だけを使います。
また、SRAMのCSは5Vにつながっていますが、そこに元々はLS139につながっていた/RESET信号をつなげます。
SRAMを5個(128kBを5個)以上使う場合は、10kΩの抵抗をSRAMの数だけ増やすだけで済みません。LS139の代わりに
LS138を使用します。LS138の詳しいピン配置は参考資料などを見てもらえば分かるでしょう。
まず、/SLTSL信号をLS138の/G2Aか/G2Bに入れます。両方でも構いません。
どちらか片方にした場合にはもう片方はGNDと繋げておいてください。簡単なのは両方に/SLTSLをいれることですね。
/RESET信号はG1にいれます。そして、A,B,CにはそれぞれメガROMコントローラからの信号B4,B5,B6を入れます。
順番を間違えないようにしてください。
そして、LS138の出力、/Y0〜/Y7を各SRAMの/CS(22)に繋ぎます。
この/Y0から/Y7の信号を載せるSRAMの数だけ使います。その時、/Y0から順番に使うようにしてください。
/Y2を使わずに/Y3を使うなんてことをしてはいけません。LS139を使っている時とは入力が違うので、
出力の使い方も異なります。詳しくは省きますが、とにかく順番に使うことだけは守ってください。
SRAMの数は/Y*の数まで、つまり8個までとなります。8個載せれば容量1Mバイトですね。これ以上は載せられません。
各SRAMの/CSには10Kオームの抵抗を付け、一方をVDD(5V)と繋ぐことも忘れないでください。
問題はSRAMを増設すると、普通のケースには収まらないことで、何かのソフトの大きいケースを利用するとか、
補修部品として手にいれるとかするとよいでしょう。
3 リチウム電池を使う
ゴールドキャパシタ等の電気二重層コンデンサが手に入らない場合や、電池の方が良いという方は、リチウム電池を使いましょう。
リチウム電池はCR2032などを使います。
その場合の取り付け方はゴールドキャパシタとほぼ同じですが、電池の+側と基板の5Vをつなぐ部分にダイオード
(1S1588)と1〜100KΩの抵抗を挿入します。ダイオードのラインが入っている側を基板の5Vにつなぎます。
つまり、ゴールドキャパシタをダイオード+抵抗+リチウム電池を直列につないだものと置き換えるわけです。
リチウム電池は化学的に激しいもので+と−がショートすると大変危険です。
そこで、基板のどこかで5V(+)とGND(−)がショートしても悲劇的なことにならないように抵抗を付けておく訳です。
電池は外れないようにしっかり固定しましょう。
電気二重層コンデンサの場合は、コンデンサの内部インピーダンスが大きいので抵抗を付ける必要はありません。
4 16kバンク対応改造
似非RAMでは、MGLOAD.COM&MGSAVE.COMを使う事により、メガROMゲームをロードして遊ぶことができます。
しかし、似非RAMディスクは8kバンクで動作しているため、似非RAMではアスキーのメガROMコントローラを使ったゲームの内、
8kバンクで切り替えているものしか遊べません。そこで、似非RAMを16kバンクでも切り替えられるように改造すれば、
16kバンク切り替えのゲームも遊べるわけです。MGSAVEでメガROMゲームをファイル化する時に、xx*??(h)Banksなどと表示されます。
xxの部分が16のものが16kバンクのソフトです。
似非RAMは8kのバンク切り替えのハードです。8kバンク切り替えではスロットからのアドレス信号 A0〜A12と
メガROMコントローラからの拡張アドレス信号B0〜Bx(MA13〜MA13+x)を使ってSRAMを制御しています。
Bxのxは使っているSRAMの数によります。16kバンク切り替えでは同容量のSRAMを制御するのに、
アドレス信号 A0〜A13とB0〜Bx-1(MA14〜MA14+x-1)を使います。
つまり、使われている最上位の拡張アドレス信号の代わりに A13をSRAM制御に使用すればいいわけです。
また、メガROMコントローラを16kバンク切り替えで使う為に、SEL信号をGNDにしなければなりません。
SELは8kバンク切り替えの時は5Vになっています。
つまり、アドレス信号の切り替えとバンクサイズセレクト信号(SEL)の切り替えで2つのスイッチが必要になります。
ここではSRAMが2個(256kB)の場合を例にとって説明します。使われている最上位の拡張アドレス信号はB4です。
B4はHC139(LS139)の3番ピンに繋がっていると思います。
6pスイッチ×1個を用意します。6pスイッチは3pスイッチ×2個をまとめたもので、
3pスイッチ2個分の信号をまとめて切り替えられます。まず、B4(LZ93A13では1番ピン)とHC139の3番ピンが繋がっているので、
それを切り離します。また、SEL(LZ93A13の25番ピン)も5Vと繋がっているのでそれも切り離します。
そして以下のようにスイッチを取り付けます。
左の足 真ん中の足 右の足
アドレス信号 B4(LZ93A13) 3番ピン(HC139) A13(SLOT)
バンクサイズ信号 5V SEL (LZ93A13) GND
こうすると、スイッチが左で8kバンク、右で16kバンクになります。アドレス信号とバンクサイズ信号両方が一度に切り替わります。
中点OFFスイッチを使った場合、両方の真ん中の足に10KΩの抵抗をつけてプルアップしておく(5Vと繋ぐ)と、
スイッチが真ん中(OFF)でSRAMが切り離しもどきになります。スイッチOFFだとHC139の3番ピンがプルアップのお蔭で
5Vとなり、4000hに後半128kバイトの先頭が出るので'AB'が書かれていない見込みが高く、起動しないという訳です。トリッキーです。
スイッチが真ん中の時にSELは5Vにしておく為に、SELもプルアップしておきます。その場合、左の足に入れている5Vは
入れなくても構いません。スイッチが左のときもプルアップのお蔭で5Vになるからです。
似非RAMを読み書きするときは、読み書きするデータに合わせてバンクサイズを切り替えてから読み書きしてください。
似非RAMディスクは8kバンクで動作するので、8kバンクにしてからMGINSTをしなければなりませんし、
ディスクとして読み書きする際も当然8kバンクにしておかないとディスクの内容を壊してしまいます。
同じように、16kバンクのゲームを遊ぶ際に8kバンクで書き込んでから16kバンクに切り替えても遊べません。