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着荷まち。