まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

SORDM5

SORDm5F V01L04 ROM&RAM&シリアルカートリッジ基板

 SORDm5Cカートリッジ基板の後継となるSORDm5F V01L04カートリッジ基板が完成しました。
8KB/16KBのROMイメージに加えてBASIC-Fで使用する20KBのROMイメージに対応し、SI-5相当のシリアルインターフェースを追加します。

2023-01-17 21.55.30

仕様:
・64KB ROM(27C512)にROMイメージを格納。32KBを単位として2バンク使用。
 バンクごとに以下の内容でROMイメージを設定する。
 ・16Kモード(EXMSEL=OFF) 16KBイメージx2 さらに16KBのイメージを8KB単位で入れ替え
 ・20Kモード(EXMSEL=ON) 20KBイメージx1 BASIC-F用
・$8000~$FFFFに拡張RAM 32KB
・シリアルインターフェース 6ピンTTLレベル入出力 USB-シリアル変換使用可能
・リセットスイッチ

設定:
・DIPスイッチ A15SEL / A14SEL / EXMSEL / A13R
A15SEL 32KB単位のバンクを切り替える。ROMのアドレスA15に対応。ON=0,OFF=1
A14SEL 16KモードでのROMのアドレスA14を切り替える。ON=0,OFF=1
A13SEL 16KモードでのROMのアドレスA13を入れ替える。ON=そのまま,OFF=入れ替える
EXMSEL ONで20Kモードを設定する。
 20Kモード時、EXMSEL=ON,A14SEL=OFF,A13R=ON

SORDm5F V01L04回路図
SORDm5FV01L04-sch

SORDm5FV01L04-pcb


部品表

C1 - 3.3~10uF 10V以上 電解コンデンサ
C2,C4,C4,C5 - 0.1uF 50V積層セラミックコンデンサ
J4 - 6P L字ピンヘッダ
RN1 - 集合抵抗 10kΩx4
SW1 - 4P DIPスイッチ
SW2 - タクトスイッチ
U1 - 27C512 (28P ICソケット)
U2 - 62256 (28P ICソケット)
U3 - 74HC86
U4 - 74HC02
U5 - 74HC04
U6 - 8251A

・U1はWinbond W27C512、U2はNEC D43256AC-10L で確認
・U6は3.5MHz以上で動作するもの。MITSUBISHI M5M82C51AP で確認
・U3,U4はHCでもLSでも可ですがどちらかに揃えてください
・U5はHCでもLSでも可
・Cはすべて電源用、RはDIPスイッチのプルアップ用です。


ROMイメージ書き込み例

ROMアドレス
- - - - - バンク0 - - - - -
0000 - 1FFF 8K BASIC-I
2000 - 3FFF 8K m5terminal
4000 - 7FFF 16K BASIC-G
- - - - - バンク1 - - - - -
8000 - 9FFF 8K あき
A000 - EFFF 20K BASIC-F
F000 - FFFF 4K あき


作例1:シリアルI/Fを使わない場合はU5,U6,C5が省略できます。BASIC-GやBASIC-Fを実行したい場合はRAMが必要です。
2023-01-17 21.08.07

作例2:フル実装
2023-01-17 21.55.30

SORD m5での使用例。USB-シリアルインターフェースは設定が5V、上側がGNDになります。
2023-01-17 22.42.30

SORD m5 Jr. での使用例。シリアルインターフェースはケースに干渉しません。
2023-01-17 22.44.10

 USBシリアルインターフェースは、USBケーブルの取り回しによっては引っ張られて外れやすくなります。
 シリアルインターフェースをサポートしているのはBASIC-Fとm5terminalです。使用法については別記事で追加予定。設計データも公開しますのでしばらくお待ち下さい。


boothにて配布予定です。


SORDm5F カートリッジの試作その3


 V01L03基板で20KBのBASIC-Fイメージとその他8K/16Kイメージの動作確認ができた。この部分の動作に必要な汎用ロジックはLS86とLS02の2個で前作SORDm5Cと規模は変わらず上位互換。シリアル周りにミス連発。

 SORDm5FV01L03回路図
SORDm5FV01L03-sch

SORDm5FV01L03-pcb


 メモリ部分の切り替えはOK。64KBの27C512を32KBの2バンクに分け、バンクはA15SELで選択。

・BASIC-Fのイメージを置く場合
先頭から8KBを空けてBASIC-Fの20KBを書き込む。
DIPスイッチの設定:
EXMSEL=ON("L")
A14SEL=OFF("H")
A13R=ON("L")

・BASIC-I(8KB)やBASIC-G(16KB)のイメージを置く場合
DIPスイッチの設定:
EXMSEL=OFF("H")
A14SELで32KB内の前半と後半を切り替えて選択
A13RでA14SELで指定した16KB内の前半と後半8KBを入れ替える

 これにより27C512にBASIC-F,BASIC-G,BASIC-I,m5terminalを書き込んで選択することができる。

2023-01-07 23.06.07


 さてシリアル周りだがミス連発。ここの部分は@morecat_labさんがV01L02を先行して動作確認してくださったので動くことはわかっているのだがV01L03でのミスが多く難航した。


V01L03での修正点は以下のとおり:
・8251のリセット反転を追加したインバータLS04に変更
・8251のRxRDY→*EXINT接続にインバータ挿入
・8251の*DSR-*DTRのショートプラグをオープンに

動作確認時に発覚した問題点:
・USBシリアル変換へのピンアサインミス
 何を参考に作ったのかピンアサインが全然違ってた。しかもTxD/RxDが入れ替わっているという。TxDとRxDをショートさせてループバックテストは確認できるのだが入れ替わりはこれではわからない。

・8251のTxDに挿入したダイオードとプルアップ抵抗の削除
 これはSORD m5から相手側への送信だけできなかったことから発覚。そもそもは電流の回り込み防止のためにRxDに入れるべきもの。削除。

・SORD m5 Jr.でのシリアル端子の干渉
 実際に使ってみて干渉したので2.54mm上にずらした。

・8251の*DSR-*DTRのショートプラグをショートに戻す
 シリアルインターフェースSI-5の回路図を参照するとオープンだったが、@morecat_labさんに確認してもらったV01L02のボードではショートだったことから元に戻した。

・シルクに説明など追加


2023-01-09 00.50.48


m5terminalについて
 m5terminalはシリアルカートリッジSI-5に内蔵されていたと思われる通信ソフト。設定についていくつか注意点がある。接続の相手先はWindowsのTeratermで確認。

CODETYPE: ASCII8だと相手先が8bit長でも文字がカタカナなどに化ける。JIS8か7bit長ならJIS7を選択。
BAUDLATE: 300だと相手は600ボー、600だと相手は1200ボー。なぜか2倍。
MODE: IGNOREに設定。WAITだと応答しない。
その他は自由に設定可能。Xon/Xoffは設定するのならば相手側に合わせておく。

 1200ボーの速度でTeraterm側から長めのテキストを送信してみたが特に取りこぼしは確認できなかった。


 ここまでの修正を反映しV01L04として発注。今後は以下を確認予定。

ハードウェア
・Z80CTCのEXCLK出力観測(8251のTxC/RxC)
・EXO-3発振器を使い任意のボーレートを設定できるかどうかの実験

ソフトウェア
・BASIC-Fでの通信確認 デバイスディスクリプタ "SIO:"
・BASIC-GやBASIC-Iからの設定と通信ができるかどうかの確認

ということでV01L04着荷まち。

SORDm5C V01L02 SORD m5用ROM/RAMカートリッジ

 前回作ったSORDm5用ROM/RAMカートリッジの不具合を修正しV01L02としました。この基板は主にBASIC-IやBASIC-Gでのフリーエリア拡張を目的としています。ROMイメージについては自力でご用意ください。

V01L02
2022-06-15 16.41.11

仕様:
・ROMカートリッジの8Kイメージを8つ、または16Kイメージを4つ格納可能
・$8000~$FFFFに32KのRAMを拡張可能

ROMイメージ切り替え方法:
 64Kバイトの27C512を4分割し16KバイトのイメージをSORD m5の$2000~$5FFFに割り当てる。この切替はDIP SWの[14][15]で行う。これらは27C512のアドレスA14,A15に対応し、ONで"0"、OFFで"1"となる。
 8KバイトROMカートリッジのイメージは16Kバイトイメージの先頭部分を使用するが、DIP SWの[13R]をオンにすれば上位8Kバイトと下位8Kバイトを入れ替える。これにより最大8Kバイトのイメージを8つ格納できる。

回路図:
SORDm5CV01L02-sch

V01L02
SORDm5CV01L02-pcb

部品表:
U1 27C512用28ピンICソケット
U2 62256タイプ 32KバイトSRAM (28ピンICソケット)
U3 74LS86 または74HC86 (14ピンICソケット)
SW1 3P-DIPSW (4Pも可)
R1~R3 10KΩ (または集合抵抗RN4 10K)
C1 3.3uF16V 電解コンデンサ (3.3uF~10uF,16V~50V程度)
C2,C3 0.1uF 積層セラミックコンデンサ

C4... 未使用(*OEディレイ用470pF)
SW2... 未使用(リセットボタン)

※部品実装前にカードエッジの挿入する部分の角をヤスリなどで丸める(カードスロット端子保護のため)

V01L02の問題点:
SORD m5のネジ止め式カートリッジケースに収める場合はカードエッジ部分が0.5mmほどずれておりケースかカードエッジ側面を削る必要あり。

V01L03:回路図は変更なし。
・カードエッジ側面を削らなくてもケースにはいるようになった
・リセットスイッチを変更
2022-06-26 17.56.19


boothにて配布予定です。
→販売開始しました。SORD m5用ROM/RAMカートリッジ基板

追記:
KiCad5による設計データとガーバーデータを公開しました。

@morecat_lab さんがカートリッジケースのデータを公開されました。ありがとうございます。


SORD m5用ROM/RAMカートリッジの試作

 以前作ったSORD M5 ROM/RAM EXPANDERをプリント基板化した。KiCadによるカードエッジ部分に悩んだがIBM PC用のISAバス2.54mmカードエッジを元にフットプリントを作り解決。

 カートリッジに入れてみた。穴位置がずれてしまった。これは基板の横幅を10cm以内にするために少し縮めたときに穴の間隔も詰めてしまったせい。また、部品実装時にICソケットを使用するとカートリッジのフタを閉めることができなくなる。
 あと、カートリッジの形状はこのネジ止め式以外にはめ込み式のものがあって、後者には対応しない。
2022-05-31 13.54.22

 基板は1.6mm厚。特に端子の金メッキなどは指定していない。カードエッジコネクタに挿入する部分は角を丸めている。このようにテープでカードエッジの端子を保護した後で、消しゴムに紙やすりを巻きつけたもので削る。
2022-05-31 14.08.43


 SORD m5のメモリ、0x2000~0x5FFFの16Kバイトの領域に27C512(64Kバイト)を4分割して対応させる。この指定にはA15,A14のスイッチを使う。8KバイトのゲームやBASIC-Iもあるので、16Kバイトの上位8Kバイトと下位8KバイトをA13Rスイッチで切り替える機能がある。RAMはオプションで32Kバイトを0x8000~0xFFFFに配置することができる。これによりBASIC-IやBASIC-G使用時のメモリ領域が増える。あとは調査用のカードエッジ引き出し端子やユニバーサルエリアを用意した。
2022-06-01 03.09.47

 しかし動かんかった。ROMのデコードは*ROM1,*ROM2信号がそれぞれ0x2000~0x3FFFと0x4000~0x5FFFに対応しているのだが間違って*ROM0(内蔵ROM)に接続していた。デコーダ用途のLS86の1ピンをカットする代わりにソケットから出して配線しなおし。これで動いた。
2022-06-01 02.57.33

 グワーッ 10枚も作ったのに……改版作業中。あとリセットボタンも付けたい。

 オリジナルのカートリッジは*MRD端子が470pF経由でGNDに接続されている。*MRD端子はROM/RAMの*OE端子に接続されている。用途は信号を遅らせるため。各ROMのチップセレクトはSORD G015カスタムチップで作られており、動作が早すぎてアドレスが充分確定する前にセレクト信号が出てしまうことの対策と思われる。本回路ではチップセレクトにLS86が挿入されているのでアドレスが確定するまでの時間が稼げているためか、470pFのコンデンサはなくても動いた。

SORDm5PSA SORD m5用電源アダプター販売開始

 SORD m5用電源アダプタ SORDm5PSAが完成したのでBOOTHにて販売開始しました。

https://keisanki.booth.pm/items/3567508 SORDm5PSA SORD m5用電源アダプタ

これまでの記事:

 純正の電源アダプタとのサイズ比較。
2022-01-08 22.22.24

 1980年代と較べて現代のスイッチング方式5Vアダプタや小型DCDCコンバータのおかげでこのサイズ。

 昔のパソコンで遊ぼうとすると必要な部品が全部揃ってないことがある。セパレート型のキーボードやACアダプタなど外せるものはなくなりがちで、せっかく本体を手に入れても動かせないことがあるのでこの電源アダプタは完成品として提供した。前回のFM11RGBIVGAも同様でキットにしてしまうと組み立てのミスなのか本体の故障なのか切り分けが面倒になってしまうからだ。
 とはいえこちらで組み立て後動作確認を行うとどうしても手間と時間がかかってしまう。需要次第だけれども完成品→キット→基板のみの配布、のようにしていこうと思う。

SORD m5用電源アダプタ V02L01

 前回の試作から色々反映したV02L01基板が到着したので早速組み立て確認。

修正点:
・基板の銅箔を2ozに
・22uF/10uFコンデンサの足間隔を広げる
・電源スイッチ追加
・5Vと+12Vにリセッタブルフューズ(ポリスイッチ)追加
・パイロットランプ追加

SORDM5PSAV02L01pcb

SORDM5PSAV02L01sch

パイロットランプのLEDは-12Vのラインに取り付けている。-12Vは+12Vから生成し、+12Vは5Vから作っているのでこれが点灯していれば動いていることになる。
スイッチは前回DCジャックと一体型のものを使用したが思ったより高さがあったので追加。5V1.2A程度だと小さなスライドスイッチは通せないので超小型ロッカースイッチを選択。
電源の安全性は5V2AのスイッチングACアダプタにすべて頼っている。リセッタブルフューズは念の為入れてみたが、いらないかもしれない。ただしフューズのパターンがあると電流測定は楽。
線幅1mmに対して流せる電流は1Aと聞いたことがある。一応線幅は満たしているが今回基板の銅箔パターンの厚みは通常1oz(35μm)だが二倍の2ozにしてみた。


 前回の試作基板を流用して5V/±12Vが来ているかどうかを確認するジグを作った。これで事前に確認すれば、いきなり手持ちのSORD m5で動かしてみて最悪壊してしまうことを予防できる。
2022-01-02 19.35.15

現在、SORD m5でゲームをずっと動かして連続運転確認中。前回と回路は変わらないのでたぶんOK。

SORD m5用電源アダプタの試作

 SORD m5のでかい電源の代わりに5VのACアダプタから必要な電圧を生成する基板を試作しました。サイズは秋月電子の45mm×45mm基板と同じでだいぶ小型化できました。

SORDm5PSApre-pcb

 回路図。だがしかしDCDCコンバータ入力の極性を間違うという重大なミスが。
SORDm5PSApre.sch

 半泣きで修正。ただこのおかげで電流測定が楽になった。
2021-12-15 16.08.49

 このような感じ。基板側はDIN8Pのコネクタを流用、MIDI用のDIN5PケーブルでDIN6Pプラグの代わりにしようと思ったのだがDIN5PとDIN6Pのプラグは端子の位置が異なりそのまま使えないことがわかった。なので端子をすこし曲げてSORD m5本体に接続している。
2021-12-15 16.20.42

SORD m5は5V/+12V/-12Vの電源が必要。5Vはほとんどのロジック回路で使用している。+12VはVRAMとして使っている16Kbit x8のDRAMのみ使用。-12VはここからSORD m5内部の79L05を使って-5Vに変換し、先程のDRAMでのみ使用。
-5VはμAのオーダーなので-12Vの電力はほぼ無視してよく、+12VはDRAMの主な消費電力。DRAM uPD416のデータシートを見るとMAX 35mAなので8個で280mAとなる。+12Vは250mA出力のDCDCコンバータを使っている。ここから-12Vも生成している。おそらく大丈夫だろうということで組み立ててみた。実測値は207mAで範囲内。DCDCコンバータもほんのり温かくなる程度。なおここの消費電力はゲームを動かしてみても変わらない。VRAMとして使われているので定常的なアクセスが発生しているためだろう。
2021-12-15 23.27.21

 5Vの消費電力は安定化電源を使って大雑把に測定。電圧のみテスタで測定し、できるだけ正確に5Vが出るよう調整した状態で1.18A。今回は5V3AのスイッチングACアダプタを使用したが5V2Aの品で十分。USB電源アダプタが流用できるかもしれない。

 DIN6PのコネクタやケーブルもAliExpressにあったので、基板を改版してキット化する予定。

SANNO Primary Compter 84S(SORD M5 Jr.)にビデオ/オーディオ出力端子をつける

 m5 Jr.にビデオ出力端子を取り付ける(RETROPC.NET)をやってみただけの記事です。

 基板右上のRFモジュレータ近辺。R4左端にVDP TMS9918AのCOMVID出力(36PIN)、すぐ下のR3左端はGND。RFモジュレータの左端の端子はSN76489のAUDIO OUT(PIN7)。GNDは下のCC3電解コンデンサあたりから。
2019SANNO-01


2019SANNO-02

 カセットI/FとRF切り替えの小基板の上にエポキシ系接着剤で固定できるようケースを削る。これはいい感じにできたと思ったら

2019SANNO-03

 上のほうの削り方がへたくそだった。
2019SANNO-04

 これで3.5mmステレオプラグ-RCAピンプラグのケーブルを使用するとAV出力が使えます。

 一部のディスプレイで音にノイズが乗るのでSN76489のオーディオ出力直出しはいいんだっけかと調べてProgress on Audio (BMOW)を参考に330μF-10Ωを付けてみました。これはノイズ対策ではないので結果としては変わらず。ビニール線ではなくシールド線を使ったほうがいいのかも。

2019SANNO-05



SANNO Primary Computer 84S(SORD M5 Jr.)基板写真

 SANNO Primary Compter 84S。外観からわかるようにSORD m5 Jr. 。海外ではSORD M2 Computerという名前らしい。

2019SANNO-a

 底面のラベル。産業能率大学が販売してたようだ。なので、サンノープライマリーコンピューターと読むのかな?SANNOの後継シリーズはMSX。

2019SANNO-b


 キーボードは上部2箇所のツメで固定されているのだが……

2019SANNO-d

 強力な両面テープで貼り付けてあった。底面のネジ3個を外せばカバーを外せる。

2019SANNO-e

 内部。かなり余裕がある。スイッチング電源を内蔵している。

2019SANNO-c

 メインの基板。基板名はM2C-01A。プリンタインターフェースの端子はない。

2019SANNO-f

 メイン基板裏面。ジャンパはない。

2019SANNO-g

 SRAMはHM6116が2個で4Kバイト。HN61364PはマスクROM。

2019SANNO-h

 RFモジュレータのチャンネルを切り替えるスライドスイッチとカセットインターフェースのジャックを載せた小基板。右側はRFモジュレータ。カセットのモーターを制御するリレーはない。

2019SANNO-i

 スイッチング電源。

2019SANNO-j


 さて、内蔵しているIPL ROMはSORD M5(TAKARA ゲームパソコンM5)と違いはあるのだろうか。簡単なチェックサムを取ってみた。結果は一致。IPLROMの内容は同じものと思われる。

2019SANNO-l

タカラ ゲームパソコンM5(SORD M5) 基板写真

SORD M5(OLD COMPUTERS.COM) ←これによるとチェコスロバキアではやったと。

タカラ ゲームパソコンM5はキーボードの色がSORD M5と違って青っぽい。手前の底面3ヶ所のネジを外すと簡単に分解できる。黄色い部分のカバーははめ込んであるだけ。

2019TAKARAM5

 シールドをはずしたところ。シンプルですね。ROMカートリッジははんだ面が手前になる。

2019TAKARAM5a


 基板名はM5C-01。空きエリアにROM用のソケットをはんだ付けしたのは気の迷いですので以降無視してください。

2019TAKARAM5c

 裏面。

2019TAKARAM5d

 ビデオ・オーディオ出力、キーボードのコネクタ、カセットI/F用のリレーなど。

2019TAKARAM5e

 CPU Z80A(LH0080A)とカスタムICのSORD GA015。GA015がアドレスデコード全般を担っているおかげで部品点数が少なくなっている。GAはたぶんゲートアレイのこと。

2019TAKARAM5f

 プリンタI/F、カセットI/F、電源コネクタ、カートリッジスロット、IPL ROM。

2019TAKARAM5g

 IPL ROMの下に2Kx8のSRAMが2個。その左にSN76489。CPUの下はZ80 CTC(LH0082A)。

2019TAKARAM5h

 VDP TMS9918Aと16Kx1のDRAM 8個。VRAM。

2019TAKARAM5i

Další z mnoha BlogůにあるSORD M5の回路図だとTMS9918A(コンポジット出力/60Hz)のかわりにTMS9929A(コンポーネント出力/50Hz)があってその出力に多数の回路が付いているがこれは海外仕様かな?

2019TAKARAM5l


SORD M5 ROMカートリッジ調査

 SORD M5のROMカートリッジについて。

 基板上にM5E-00の文字。レジストなしの両面基板。SRAM 6116(2Kx8)のパターンが2つ、ROM 2764(8Kx8)のパターンが2つ、16pinのTTL、RAMのアドレスデコード用74LS139のパターンが1つ。
2019SORDM5ROM1

右の方からRAM0、RAM1、ROM0、ROM1と呼ぶことにする。BASIC-IやゲームのROMはROM0に直接はんだ付けされている。これはBASIC-Iの写真でROMのラベルにはM5 BA4と書いてありますね。
RAM0の*OE(SRAM/ROM共通)は471(470pF)のコンデンサでGNDに接続してある。信号のタイミングを遅くして調整しているのだろうか。

BASIC-Gカートリッジ内部構成(RettoPC.net)を参考に見ていくとBASIC-Gも同じ基板。ただし16KバイトあるのでROM0/ROM1を使用し、SRAMも4Kバイト分実装している。

RAMのアドレスデコードは以下のとおり。
SORDM5_2019-08-13 22_52_41

 カードエッジの端子は以下のとおり。ただし必要のない*IORDなどは端子ごと削除されている。

スクリーンショット 2019-08-13 23.01.03


 次回はSRAMを32K、ROMを512Kからソフトを選択できるよう改造します。

記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ