さて、FS-A1の機能強化の続きです。

 

○メインメモリ増設基板

発注していた基板が届きました。

 

SRAMを使ってメインメモリを増設する基板です。

正確には、元々載っているメインメモリ(64KB)を無効化して、基板上に載っているメモリをメインメモリにするための基板です。

 

このとき注文していた128k×8bitのSRAMを使って、128KBあるいは256KBを搭載できるようにしてあります。

 

この基板を作ろうと思った発端は、内蔵ソフトを無効化するときにS1985(MSX-SYSTEM II)のピンアサインを調べたことでした。

S1985の詳しいことは「S1985 ピンアサイン」で検索すると上位に出てくる「 ジャンカー友の会 別室 」というサイトにある「MSX S1985ピンアサイン」の記事に載っています。(情報公開に感謝m(_ _)m)

【2019/11/4追記】

現在このサイトはプロバイダの閉鎖に伴い引っ越したようです。

そのため検索で引っかかるページ名が変わっていました。

【2019/11/4追記終わり】

 

この記事でS1985はメモリマッパーレジスタを持っていることがわかりました。
しかし、FS-A1ではS1985にあるメモリマッパーレジスタが全く使われていません。

たぶんPAUSEボタンに対応するためなんでしょうけど、ゲートアレイと表記されたカスタムICにメインメモリが直結されています。

このゲートアレイはメモリマッパーシステムに対応していないようです。

MSX2は起動画面にメインメモリの容量が表示されないので、自作のプログラムでメモリマッパーのチェックをしてみるとこうなります。

 

○MSX2 メモリマッパーチェック結果

 

S1985自体はマッパーレジスタを持っているのに、プライマリスロットにマッパーレジスタがないと表示されます。

 

そこで、S1985が持っているマッパーレジスタを使ってメインメモリを拡張することにしました。

前回の機能強化でCPUとメインメモリをICソケット化していたのはこのためでした。

 

まだ実験段階なので、まずは届いた基板に最低限の部品を組み付けます。

 

○部品組み付け後

 

先の記事によれば、S1985は512KBまでのマッパーメモリを扱えるようなのですが、そのためにはリセット時の信号入力を制御しないといけません。

FS-A1では512KB対応するためにはパターンカットしないとダメそうなので、基板自体はパターンカットしなくても使えるように128KBのSRAMを二つ使って256KBまで載せられるようにしてあります。

しかしメモリ基板を作るのは初めてのことで、ちゃんと動くかわからなかったのでSRAMは一つだけ載せてあります。

 

次にS1985のマッパーレジスタを使うための準備です。

 

○マッパーレジスタ信号引き出し

 

どこにも接続されていないS1985のマッパーレジスタの信号を引き出します。

例によって脚を持ち上げて補強基板を経由しています。

 

早速本体に組み付けて電源を入れてみます。

が、初期画面すら出ません滝汗

CS1~信号確認用のLED(つまりメモリへのアクセスランプ)をつけて再度確認してみます。

 

○本体組み付け後

 

全く光りません。

 

基板をチェックしたところ、メモリの3箇所でハンダブリッジしてました…。

見た目ではブリッジしているようには見えなかったんですが、ハンダがわずかに糸を引いていたようです。

さすがに0.5mmピッチのTSOPだと、視認でのハンダブリッジチェックは難しいようです。

 

ブリッジしていたところを直して再度試してみると無事起動しました。

が、自作のプログラムで確認してみるとまたしてもマッパーレジスタがない、といわれます。

LEDも光りません。

 

この結果はある程度予想していたので、ICソケット化してあった標準搭載のメインメモリを外して再度確認してみます。

 

○アクセスランプ点灯

 

LEDが光りました。

自作プログラムを動かしてみると。

 

○メモリ認識

 

狙い通りプライマリスロットが#30から#32に変わっています。

載せたメモリは128KBなのでセグメント数は8のはずなのですが、なぜか16セグメントと表示されています。(あ、スペルミスしてる…(^^;)

確かに基板自体は256KB(16セグメント)まで載せられるようにしてありますが…。

自作プログラムの総セグメント数の取得方法に問題があるようです。

 

それはそれとして、無事増設側のメモリを認識して無事動きました。

128KBで試して動いたら256KBにするつもりだったんですが、基板製作を発注して到着を待つ間に、パターンカットしなくても512KB対応できそうなことに気づいてしまいました。

ですので、今回は256KBにはしないことにしました。

 

元々のメモリを載せたまま、無効化した内蔵ソフトが使っているスロットを乗っ取る形でメインメモリの増設をしようと目論んでいたんですが、前述のとおり元々のメインメモリがあると他のスロットにメモリがあっても使ってくれないようです。

今回の基板では内蔵ソフトが無効のときにのみ増設メモリが有効になるようにするための回路パターンも用意していたのですが、意味はなかったですね。

 

今度はメインメモリのスロットを乗っ取る形で512KBのメモリを載せる基板を作って見ましょうか。

 

【11/10追記】

こちら で512KB化しました。

 

512KB基板に載せかえるついでに実験を行い、プライマリスロットは最も若いスロット番号にあるメモリが使われる、ということがわかりました。

試しにSLOT#1(ROMカセットのスロット1)に増設メモリ基板を繋いだところ、本来のメモリが載っていても増設メモリがプライマリスロットになりました。

【11/10追記終わり】

 

以下備忘録

基板設計データはFS-A1メモリ追加TSOP版.LZH