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)| ![用意したパーツ](https://camo.elchika.com/4a6591fbe26c0977292001a88cbf9df98f07c177/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f32626233326265642d303137342d346337632d396164342d393766626637653530336463/) # 作り方 ## ピン配置の確認 今回用いる基板は、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 に接続する信号を以下のようにジャンパーを用いて設定できる。 ![基板のジャンパーの設定方法](https://camo.elchika.com/d88988c0a423e0c91f733c7beaa6260aaa6c15a4/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f36633835303861632d623164382d343263342d396530632d393866653962626331326663/) 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番目) に接続する。 # 実装 ## ジャンパーの接続を切る カッターナイフで切る対象のジャンパーの間の繋がっている部分を削る。 ある程度削ったら、テスターで切れていることを確認する。 まわりの余計な部分を削らないように注意する。 ![ジャンパーの接続を切った状態](https://camo.elchika.com/b4ce0e1611f39380b1303b73522b40ceb193f4ac/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f62623331373663362d646434362d343233372d383064662d383965346230616439343462/) ## ジャンパーを接続する 接続する対象のジャンパーを接続する。 隣あっていないジャンパーは、スズメッキ線を用いて接続した。 余計な所に繋がらないように注意する。 ![ジャンパーを接続した状態](https://camo.elchika.com/f88863f6667bdc484a6d604f7a9e53d28854ab77/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f30656232613261392d343035392d343637612d396337382d323130316539633137376663/) ## 残りの部品を実装する SRAMとコンデンサーを実装する。 SRAMの向きを間違えないように注意する。 ![残りの部品を実装した状態](https://camo.elchika.com/932a93f77e2d49c434f834f7b3802dfc5f30ae9a/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f37323937653431622d316139372d343139642d626435612d643861663037376335323439/) 念のため、+5VとGNDがショートしていないか、テスターで確認するとよい。 ![+5V と GND の位置](https://camo.elchika.com/41ebb1774f3c2eb326ff788c5387c168c10252b4/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f32653330316564662d363037352d346662332d623835632d346163356266613132313135/) ## ケースに入れる ケース内の出っ張りに基板の穴を合わせ、基板をケースにセットする。 ![基板をケースにセットした状態](https://camo.elchika.com/c26f2fb5fe4c6813c1b7ad0f69af1be405d60df3/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f36363532353334352d633163622d346265342d383266372d303537323062373966643331/) ケースのもう一方の部分を合わせ、付属のネジでとめる。 ![ケースをネジ止めした状態 (完成)](https://camo.elchika.com/6aa0d859ddd9397d21397c0524477fe5c01ca7d1/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f30656661633930372d373939332d343031642d623933362d636638346336643438613939/) 完成! # 動作確認 MSXのPV-7で動作確認をする。 ![PV-7](https://camo.elchika.com/a268d84060e99445e59eef5a4b3724ed063f3d81/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f63313465643064642d353961642d343936612d623733312d613737633830636464653437/) カートリッジを挿していない状態では、RAMは8KiBであり、初期状態で約4KBの空き容量がある。 ![カートリッジなし 初期状態でのRAMの空き容量](https://camo.elchika.com/89f5122c8d46117a75b099f8b7bc2dc764856100/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f30373332363636342d633936652d343436322d616362322d336637393565613866346161/) [TINY SLOT CHECKER](https://www.tiny-yarou.com/slotchecker.html) (簡易版) でチェックすると、以下のようになった。 ![カートリッジなし TINY SLOT CHECKER (簡易版) の表示](https://camo.elchika.com/65ecc957eac15ef37481f65cf65a5409bc5b88cf/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f31383362633530622d636564352d343263322d623435642d656335653863666561373561/) 次に、一旦電源を切り、今回作成したカートリッジを挿す。 ![PV-7 にカートリッジを挿した様子](https://camo.elchika.com/62d1a6f877ef03d751898a7b25ef9e44f32fa545/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f34623537643965382d346333382d346532382d616533302d303964353366326233353666/) 初期状態での空き容量は約28KBになった。 8192 - 4239 = 3953 32768 - 28815 = 3953 となり、差が同じなので、RAMが32KiBに拡張され、同じ容量がワークエリアなどで消費されていることが読み取れる。 ![カートリッジあり 初期状態でのRAMの空き容量](https://camo.elchika.com/57362833081a88304ce57b21bc6457d140840e21/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f31636164613533372d646462642d346531362d623835662d656430616134313938653535/) TINY SLOT CHECKER も (RAM32KB以上を要求する) RAM版が動作し、以下の結果になった。 ![カートリッジあり TINY SLOT CHECKER (RAM版) の表示](https://camo.elchika.com/f0366840b27ba757d78942b887a21c81b69c27b8/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34323336376365652d363839362d346364612d396134612d3433343133383638326635342f65613337666164382d653132322d343635312d383961342d343834373764323039663033/) なお、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)など…?~~