まごころせいじつ堂

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

SORD M5

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

SORDm5 クロック周りとGA015

 SORD m5のクロックについて調査。
 VDP(TMS9918)がクロックジェネレーターを兼ねている。クロックの源発振は10.738635MHzのクリスタル。CPUCLK出力はその1/3の3.579545MHzでMCKとしてSGCに供給されている。Z80Aのφ入力はTTLコンパチではなくフルスイングを要求するのでMCKをインバーターで反転後、470Ωプルアップで接続。Z80ACTCもこの出力を使っている。
スクリーンショット 2022-12-18 0.38.09

GROMCLK出力は源発振の1/24で447.443125kHz。TCKとしてZ80ACTCのチャネル2に与えられる。これはシリアルI/F 8251のクロック(EXCLK)の元として選択できる。チャネル0はタイマー、チャネル1はシリアル8251の割り込みを受け付け、チャネル3はVDPからの割り込みを受け付ける。このようにZ80ACTCは簡単な割り込みコントローラも兼ねている。

 カスタムIC GA015について。GA015はSORD m5内部のデコーダ等をまとめてある。
入力はA15~4、D1,D0,~MRQ,~IORQ,~RD,~WR,~RST。COMは未接続で不明の端子。デコード内容は図のとおりだが、PSTBとREMはラッチで値を保持する。PSTBはプリンタのストローブ端子で数十ms程度保持する必要がある。またREMはデータレコーダー用のリレーをON/OFFする。このためラッチが必要。PSTBはデーターレコーダーへ書き込むときの値も兼ねている。
今だとGAL 16V8 2個ぐらいでできそうなかんじ。

追記:表の訂正 ~ROM2のデコード範囲
スクリーンショット 2022-12-18 23.24.01





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


 SORDm5C相当の修正。U3 pin5を上げて+5Vに。U6 8251AのRxRDYと*EXINTの間を反転させるために U4 pin4,5,6を上げて pin6=GND、pin5=RxRDY、pin4=*EXTINTに接続。JP5、JP2をカット。
SORDm5FV01L01MOD-sch


 試作基板を修正しBASIC-IとBASIC-Gの動作を確認。
2022-12-16 03.06.32

 さてここでソフトの問題が。BASIC-Iはおそらくシリアルポートをサポートしていないだろうが、BASIC-Gは電子展望の記事『ソードM5アプリケーションレポート』によるとLIST #4といったチャネル指定でシリアルポートに出力できそうなことが書かれている。しかし実際にはERR 4(Variable type mismatch)発生。LIST #3ではプリンタ対象で予想通りハングアップすることからチャネル番号自体はサポートしている。発売時にはシリアルポートのサポートは外されたのかもしれない。
 BASIC-Fはデバイスディスプリプタで入出力をチャネル番号に割り当てることができる。デバイス名は"CNS:"、"GRP:"、"PRT:"、"PRI:"、"CMT:"、"FX:"がマニュアルに記載されている。シリアルポートの記載はなかったが透視能力により"SIO:"であることがわかった。BASIC-Fはシリアルポートをサポートしていそうだ。ただちょっとちぐはぐなところがあって、BASIC-FのINP()関数の説明ではプログラムでシリアルポートからの読み出しをサンプルコードとして掲載してある。シリアルポートの記述を完全に消しているわけではなさそう。

 SORD m5のマニュアル類は http://m5.arigato.cz/en_index.html を参照した。SORD m5のことを調べるためには我々はチェコスロバキア(当時)に行かねばならない。


Trans Slovenia Express 2
Various Artists
EMI Import
2006-09-25


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

 SORDm5C V01L02 SORD m5用ROM/RAMカートリッジ の改良版としてBASIC-FのROMイメージとシリアルインターフェースを追加したSORDm5Fを試作しました。

SORDm5FV01L01-sch

まずはメモリマップのおさらいから。

0000 - 1FFF 8KB *ROM0 モニタハンドラ(内蔵)
2000 - 3FFF 8KB *ROM1 (内部にソケットあり)
4000 - 5FFF 8KB *ROM2
6000 - 6FFF 4KB *EXM
7000 - 7FFF 4KB 内蔵RAM
8000 - FFFF 32KB 拡張RAM領域

*ROM0 , *ROM1 , *ROM2 , *EXM はカスタムIC GA015からの出力で、これらは同時にアサートされることはない。ROMはU1 27C512で容量は64Kx8。A15とA14をDIPスイッチで選択しているので16KB単位で4バンク使用。
ここではやくもミスが。BASIC-Fは2000 - 6FFFの20KBを使用するのでA14をデコードに含まないといけない。A14SELのスイッチはなくしてカートリッジのA14に接続しROMは32KB単位の2バンク構成にしないといけない。
または、*EXMと*EXMSELスイッチでBASIC-Fの*EXMに対応する4KBを有効にしたかったが、修正するならば*EXMSELスイッチで*EXMか*A14SELを選択してU1 ROMのA14に与える。
U4Cで*ROM0と*ROMDSをandしているがここは間違い。*ROMDSはSORD m5内部にあるROMソケット(*ROM1)のチップセレクトを抑止するための信号で、モニタハンドラ(*ROM0)の抑止ではない。これは0000-1FFFをdisableできると勘違いしたため。しかしそうなるとCP/Mはどうやって実現してるんだろうな?あと、*ROMDSは内部ROMのdisableと考えると各種カートリッジではGNDに落としてあるんじゃないだろうか。→手持ちのカートリッジを調べたら特に何もしていない

追記:CP/M実現のためにGA015→内蔵モニタハンドラROMの*CSに抵抗を入れて外部から内蔵ROMを強制的にdisableにする改造をしている。

※U3 HC86のピン5を上げてピン14(+5V)に接続すればSORDm5C相当になります

シリアルインターフェース部分は8251でCPUのクロックが与えられるため3.5MHz以上で動作するグレードが必要。I/Oアドレスは60Hと61H。このセレクト信号はGA015からの出力*EXIOAで与えられる。GA015はA3~A0をデコードしないためアドレスの範囲は60H~6FHとなる。ここを厳密にデコードしようとU5 LS138を入れているが実際には不要なので、実装せずにU5の4ピンと15ピンをショートする。
EXCLKは8251のTXCLK/RXCLKで、Z80CTCの#2から供給される。システムクロックの4分周。さらに高速化できんかと元の発振クロックを設定で分周できるEXO-3を実装できるパターンを用意している。
シリアル通信の制御線まわりは独自に起こしたのだが以下に海外での解析した回路図があった。
これによると*EXINTは反転しないといけない。*DSR - *DTRはオープンだがここはジャンパを用意しているのでカット。*CTSはGNDに落とすオプションがある。あと、*ROM1で選択される8KBのROMは不明。BASICなどと領域がかぶるしBASIC-GやBASIC-Fでシリアルも制御できるはずと思っているがどうなんだろうか。

拡張RAMはU2 HM62256(32Kx8 SRAM)で割り当ててある。

SORDm5FV01L02-pcb

2022-12-10 23.39.04

U5を廃止できるので汎用ロジックはあと1個分は余裕があるが修正どうしようかなあ。

SORDm5にMSXジョイスティックを接続する

 ぴゅう太用MSXジョイスティックアダプタと同じようにSORD m5用のMSXジョイスティックアダプタを作ってみた。
 SORD m5のジョイパッド端子はmini-DIN 6ピンでL,Rの2つがある。上下左右とトリガ2つの6入力だが、これらはキーボードマトリックスの一部で2x4の構成になっている。MSXのコモン端子1つ、上下左右トリガ2つの構成はそのままでは接続できない。また、GNDも出ていない。そこでフォトカプラを使用し、MSXジョイスティックのボタンに対応する6箇所のキーをONにするような回路を考えてみた。フォトカプラのLED用に電源が別途必要になる。

SORDm5JOYV03-sch


SORDm5JOYV03-pcb

 フォトカプラは秋月電子で1個20円のPS817を使用したが今見たらもっと安いUPC817CGがあるな。
フォトカプラのLEDはCR2032のコイン電池(3V)で駆動、電流制限抵抗は集合抵抗。4.7kΩではジョイスティックの入力取りこぼしが頻繁にあった。2.2kΩで問題なし。

2022-07-22 19.08.03

 電源となるCR2032の電池ホルダは裏側から取り付ける。CR2032は220mAhとのことなので、フォトカプラ1つあたり1mAとしてざっと寿命を考えてみる。同時にオンになるフォトカプラは最大4個(トリガ2つとスティック斜め)。パイロットランプのLEDも1mAとして、220÷5=44時間。たまに遊ぶゲーム用途としては妥当じゃないですかね。
 電源は電池の他に外部入力端子を用意している。2つのジョイスティックアダプタのうち片方はこれに接続して電池を省略できる。

2022-07-22 19.08.19

 さて、悩んだのがmini DIN 6Pの接続をどうするか、だった。コネクタはあるけどはんだ付けがたいへん。完成品の配布に関しては製作の工数をある程度まけているけど、これは難しい。

2022-07-25 21.57.04

 mini-DINコネクタを搭載できるようにしているが、mini-DIN 6P オスーオス ケーブルの入手が難しい。Aliexpressで探したがPS/2ケーブルのスプリッタ(キーボード/マウス)やDIN5P変換ケーブルしか見つからなかった。なぜかAmazonにはあった。

2022-07-22 19.06.52




 ということで配布に関してはケーブルの問題に悩みつつ基板のみとするかもしれません。


***

 さてここからは開発の紆余曲折コーナーです。

 当初は無電源でMSXジョイスティックをキーマトリクスの一部に組み込めないか考えてました。フォトカプラでオンオフ→フォトカプラのLED部分がオンオフできれば動くんじゃ?ということでキースキャンの駆動部(オープンコレクタ)からGND、受け側のプルアップ2.2kΩ〜5Vで電源が取れそうということで色々LTSpiceをこねくり回していました。

SORDM5JOY-PNPNPN

 理屈の上では動くんですよ。ただし電源をキーマトリクスからもらった時点でそこに電流が流れ、導通状態になりキーが常にONになったような挙動になってしまう。永久機関は作れなかった。

 基板まで作ってしまいバカの極み。まあトランジスタの勉強になったからいいか。

2022-07-26 00.11.55


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/RAM EXPANDER(ROMカートリッジの改造)

 SORD M5のROMカートリッジの基板を見ていると空いたパターンに部品を実装したら簡単に拡張できそうな気がするのでちょっと考えた。BASIC-Gは16Kバイトなので2764を1個にするより27128あたりで載せられそう。そうすると空いたROM1の場所に32KバイトRAMを実装できるんじゃないか?ではデコーダをどうするか。TTL 1個でできるか?

 ROMのCSはROMCS0(2000-3FFF)、ROMCS1(4000-5FFF)の2つだが同時にアサートされることはないのでXORで2000-5FFFの16Kバイトをセレクトできる。A13をスイッチで反転することで16Kバイトの前半と後半を入れ替えて8KのROMイメージを切り替えられるようにする。A14,A15はROM 27128/27256/27512内のイメージを選択できるようにする。SRAMについてはA15を反転して*CSに与えることで8000-FFFFにマップする。これが74LS86(74HC86) 1個でできた。
SORDM5_2019-08-14 00_22_39

 LS86をLS139の空きパターンに実装する検討。GND側に寄せてICソケットのピン上げ、基板の上側と下側で配線。パターンカットと部品面/半田面へ配線を渡す穴も必要。
2019SORDROM0


 さて改造。基板上ROM0,ROM1,LS139の端子部分のハンダを抜き、ROM0に実装されているBASIC-IのROMを外す。私はカプトンテープで周囲を保護してからハンダ取り外しキットの低融点はんだで外しました。
2019SORDROM1

 部品面での配線カット。
2019SORDROM2

 ハンダ面での配線カット。
2019SORDROM3

 ここまでやってからROM0,ROM1にソケットを実装し、カットした配線をジャンパ線で戻して動作確認。
2019SORDROM4

 このBASIC-Iカートリッジは動かないという説明のTAKARA M5と同時に入手したのですが、このカートリッジ上で*WEとA12がどこかでショートしてました。*WE近辺をカットして動作。

 LS86を実装するための準備。カプトンテープでソケットの端子と基板を分離、パターンカット、配線を逃がすためのバカ穴あけ。
2019SORDROM5

 こんな感じの立体配線に。
2019SORDROM6

 先にSRAMの方を配線し、BASIC-IのROMを起動すると本体内蔵の4K+32K=36Kバイトを確認できます。
2019SORDROM7

 さてA15/A14/A13RでROMイメージをセレクトするスイッチですが、SRAM 6116の空きパターン上に基板を重ねて実装することに。写真右下にバカ穴。ここからA15/A14/A13Rの信号線を引き出し。
2019SORDROM8

 できました。
2019SORDROM9

2019SORDROM9R

 思ったとおりにいったので満足度は高いのですが、プリント基板を作製できるスキルのある方はそちらが楽だと思います。また、BASIC-Fはイメージが20Kバイトなのでこの改造では動作しません。おそらくカートリッジ基板が異なると思われます。




goot はんだ吸取器 GS-108
B0016V5KHU
5つ星のうち3.4
¥ 964


サンハヤト 表面実装部品取り外しキット SMD-21
B00J7LER02
5つ星のうち3.9
¥ 5,103


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からソフトを選択できるよう改造します。

SORD M5のPSU(電源ユニット)

 SORD M5のPSU(電源ユニット)について。実際に入手したのはタカラ M5のもの。
M5の電源はこのPSU側にある電源スイッチでON/OFFする。M5内部では+5V、+12Vについてはカートリッジを挿さないと各LSIに分配されない。-12Vは内部の79L05で-5Vに変換され、これについてはカートリッジを挿してなくても供給されている。
このように電圧の種類が多いのは16K DRAMが+5V/+12V/-12Vを必要とするせいである。

ラベル
2019m5psu0


 電源ユニットは底面のネジ6個を外すとカバーを外せる。ネジのうち4個はゴム足の下。
古いパソコンの重い外部電源ユニットはトランスが入っている。スイッチング電源ではない。
2019m5psu1

7812、79M12で+12V、-12Vを作っている。+5VはNEC uPC305Cとトランジスタで作っている。

2019m5psu3

DC電源ケーブル。内部の配線と実測値は以下の通り。DIN6Pのピンアサインは写真参照。

R:+12V 12.16V
Y,G:5V 5.02V
BK,BR:GND
W:-12V -12.07V

2019m5psu4


 このタカラM5、動作しないので電源から先に調べたのだが問題なかった。ということでメモ。

記事検索
プロフィール

hardyboy

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