mikecat が 2023年05月05日19時39分46秒 に編集
初版
タイトルの変更
MSX向けROM基板を使って拡張用RAMカートリッジを作る
タグの変更
MSX
カートリッジ
改造
RAM
メイン画像の変更
記事種類の変更
製作品
ライセンスの変更
(CC BY 4+) Creative Commons Attribution CC BY version 4.0 or later
本文の変更
MSX向けのROMカートリッジ作成用の基板が売られていたので、これを使ってRAMの拡張ができるカートリッジを作ってみた。 # 用意したパーツ |もの|詳細|入手先| |---|---|---| |カートリッジケース|-|[BOOTH (筆選び工房)](https://booth.pm/ja/items/4116755)| |基板|MSX 64K Simple ROM Cartridge|[BOOTH (Illegal function call)](https://ifc.booth.pm/items/3200264)| |SRAM|BS62LV256PIP70 256K (32Kx8bit)|[若松通商](https://wakamatsu.co.jp/biz/user_data/index.php)| |積層セラミックコンデンサー|0.1μF 100V X7R 5mmピッチ|[秋月電子通商](https://akizukidenshi.com/catalog/default.aspx)|  # 作り方 ## ピン配置の確認 今回用いる基板は、Flash ROM の SST39SF010A を用いるように設計されている。 そこで、このICと、今回用いる SRAM の BS62LV256PI のピン配置を比較する。 ``` +-------- BS62LV256PI --------+ | | | SST39SF010A | | (A18) NC v VDD | | A16 WE# | A14 A15 NC (A17) VCC A12 A12 A14 ~WE A7 A7 A13 A13 A6 A6 A8 A8 A5 A5 A9 A9 A4 A4 A11 A11 A3 A3 OE# ~OE A2 A2 A10 A10 A1 A1 CE# ~CE A0 A0 DQ7 DQ7 DQ0 DQ0 DQ6 DQ6 DQ1 DQ1 DQ5 DQ5 DQ2 DQ2 DQ4 DQ4 GND VSS DQ3 DQ3 ``` すると、GND、~CE、~OE、DQ0~DQ7、A0~A13 の配置は同じであることがわかった。 一方、VCC、~WE、A14 の配置は異なるので、この違いをうまく吸収してやらないといけない。 ## ジャンパーの設定方法の確認 今回用いる基板は Rev:D であり、A14、A15、A17、A18 に接続する信号を以下のようにジャンパーを用いて設定できる。  MSXの信号とRAMの信号の接続は、以下のようにしたい。 |基板の表示|RAMの信号|接続先 (MSXの信号)| |---|---|---| |A17|VCC|+5V| |A14|~WE|~WR| |A15|A14|A14| |A18|なし|(GND)| 基板のジャンパーは、初期状態では以下のように接続されている。 |基板の表示|接続先 (MSXの信号)| |---|---| |A17|GND| |A14|A14| |A15|A15| |A18|GND| よって、以下のように接続を行えばよい。 1. 基板の表示 A17、A14、A15 のジャンパーの接続を切る。 2. 基板の表示 A17 の上のジャンパーの左右を接続する。 3. 基板の表示 A14 の上のジャンパーの左側を、基板の表示 A15 のジャンパーの右側に接続する。 4. 基板の表示 A14 のジャンパーの右側を、IC1のピン31 (上段の左から2番目) に接続する。 # 実装 ## ジャンパーの接続を切る カッターナイフで切る対象のジャンパーの間の繋がっている部分を削る。 ある程度削ったら、テスターで切れていることを確認する。 まわりの余計な部分を削らないように注意する。  ## ジャンパーを接続する 接続する対象のジャンパーを接続する。 隣あっていないジャンパーは、スズメッキ線を用いて接続した。 余計な所に繋がらないように注意する。  ## 残りの部品を実装する SRAMとコンデンサーを実装する。 SRAMの向きを間違えないように注意する。  念のため、+5VとGNDがショートしていないか、テスターで確認するとよい。  ## ケースに入れる ケース内の出っ張りに基板の穴を合わせ、基板をケースにセットする。  ケースのもう一方の部分を合わせ、付属のネジでとめる。  完成! # 動作確認 MSXのPV-7で動作確認をする。  カートリッジを挿していない状態では、RAMは8KiBであり、初期状態で約4KBの空き容量がある。  [TINY SLOT CHECKER](https://www.tiny-yarou.com/slotchecker.html) (簡易版) でチェックすると、以下のようになった。  次に、一旦電源を切り、今回作成したカートリッジを挿す。  初期状態での空き容量は約28KBになった。 8192 - 4239 = 3953 32768 - 28815 = 3953 となり、差が同じなので、RAMが32KiBに拡張され、同じ容量がワークエリアなどで消費されていることが読み取れる。  TINY SLOT CHECKER も (RAM32KB以上を要求する) RAM版が動作し、以下の結果になった。  なお、SLOT 1 の全ページがRAMとして認識されているが、今回使用したSRAMは32KiBのものであり、 PAGE 0 は PAGE 2 の、PAGE 1 は PAGE 3 のミラーになっている。 「裏RAMをRAMディスクとして用いる機能」がある機種でこの機能を用いるなど、使い方によっては不都合を起こす可能性があるので注意したい。 # 結論 ROMカートリッジ用の基板を用い、RAM拡張カートリッジを作成することができた。 ~~カートリッジといえば「プルシュカ」…?~~ ~~「プルシュカ」って「いのりん」…?~~ ~~「いのりん」といえば[小岩井吉乃](https://www.nicovideo.jp/watch/1484025086)や[ソマリ](https://www.nicovideo.jp/watch/1578622870)など…?~~