まごころせいじつ堂

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

SMC-777

SMC-777(カラーパレットSMI-733) VGA変換時のノイズ問題 解決

前々回はこちら

 SMC-777Cが内蔵しているカラーパレットボードSMI-733の調査結果はつぎのとおり。

 ノイズ対策のためにやってみたのは:
・Trのベース側にフェライトビーズ挿入
・カラーパレットボードのハンダ面をアルミテープでシールド
・GND強化 本体電源シャーシとカラーパレットボードのGNDを接続

 いずれも効果なしで黒い色の部分がうっすらと白く浮き、ドットクロック(16MHz)に同期したノイズが乗る。

 やっとDAコンバータまわりの回路を起こせたのでよく眺めていると、4入力NANDオープンコレクタ出力のALS22が気になる。これは取ってつけたような部分で入力がすべてOFF(値は0000で反転しているので"HHHH")だと強制的にGNDに落として色を黒にする回路だが、当初から疑っててソケット化はしていた。ただしLS22に交換してみたが変化がなくそのままにしていた。

 あらためて回路図。

SMI733DAC

 トランジスタの入力であるベース側をALS22は強制的にGNDにしている。ここをGNDにしてもなんかエミッタ側に出てしまってるのではないか?ということでテストクリップを使いまずベース側をGNDに落として確認した。
2022-08-26 21.59.12

 BASICからカラーパレットをON/OFFしてみる。カラーパレットONではGNDに落とした色は黒になるはずである。結果は変わらず黒の部分が白く浮く。次にクリップをTrのエミッタ側に接続する。カラーパレットボードの出力を直接GNDに落とすことになる。これで白浮きはでなくなった。

 対策としてソケット化したALS22の出力端子をピン上げし、それぞれのTrのベースからエミッタに接続を変える。
2022-08-26 22.38.09

R:2Cの位置にあるALS22のピン6を上げてQ1のエミッタに、
G:2Cの位置にあるALS22のピン8を上げてQ2のエミッタに、
B:5Bの位置にあるALS22のピン6を上げてQ3のエミッタに接続。

2022-08-26 22.37.57

 元通りに搭載して確認。
2022-08-26 22.56.56


確認のためのプログラムはつぎのとおり。ビープ音1回で内蔵カラー(カラーパレット無効)、ビープ音2回でカラーパレットボード有効。これらの切り替えで画面に変化がなければOK。
100 WIPE
110 GMODE 1
120 CURSOR OFF
130 '
140 FOR Y=0 TO 15
150 BOXF(0,Y*8)-(319,Y*8+7),Y
160 NEXT Y
170 FOR W=0 TO 3000:NEXT W
180 BEEP
190 OUT &H51,6
200 OUT &H51,7
210 FOR W=0 TO 3000:NEXT W
220 BEEP:BEEP
230 OUT &H51,&H16
240 OUT &H51,&H17
250 GOTO 170

2022-08-26 22.06.34


 今回はALS22をソケット化したので、同じようにすると改造が大変かもしれない。パターンカットならばもう少し簡単にできる。まだ実施してないが以下の方法で可能。

(1)2Cの位置にあるALS22ははんだ面でパターンカット可能。カット後、配線すればいい。
(2)5BのいちにあるALS22はTr(Q3)に近くカット困難。空きユニットがあるのですべての入力をパラに配線したあとピン8の出力をQ3のエミッタに接続。

 ここまで書いて思いついたがALS22を1個追加して2Cの位置に親亀子亀方式で載せたら(1)のパターンカットいらなくなるね。ベース側をGNDに落とすのと被ってもかまわないのでそうしましょう。


 しかし長かった。去年の11月ぐらいから原因がわからず悩んでいた。なぜSMC-777Cが現役の時代に表面化しなかったのだろうか?当時は液晶ディスプレイでなくブラウン管のディスプレイ、ブラウン管の方が液晶ディスプレイとくらべ映像信号の変化に対して鈍ければこのノイズは観測できなかったのかもしれない。


追記:LTspiceによる出力段の簡単な確認。Q1はパレットボード上のPNPトランジスタ。このエミッタがSMC-777本体側の映像出力用NPNトランジスタ Q1のベースに繋がっている。
74ALS22の"L"出力はtyp 0.35VなのでQ1のベースに0.35Vを与え、アナログ映像出力(R4の上)を観測すると70mV。これはVGAのアナログ映像信号が0~0.7Vなので10%に相当する。これがおそらく白浮きに見える。
SMI733SIML-70mV

 これはALS22の出力をQ1のエミッタ(=Q2のベース)に接続したものでアナログ映像出力は0Vになった。
SMI733SIML-00mV

twitterでのskyriver(@wcinp)さんとのやりとりでだいぶ明確になりました。ありがとうございます。




 やっとこれで安心して地球を防衛することができる…明日着荷予定

【PS4】地球防衛軍6
D3PUBLISHER
2022-08-25



SMC-777用カラーパレットボードSMI-733の調査(2) DAC

 SMI-733調査の続き。前回はカラーパレットの対応を格納するSRAM 74S189の書き込みパスまで。

 カラーパレットによる色の変換はドットごとに変化するR,G,B,X 4bitの信号をSRAM 74S189 3個のアドレスに与えてR,G,Bそれぞれ4bitの情報を取り出す。これをDA変換してアナログRGBの信号を生成する。
 SRAM 73S189のデータ出力は反転することに注意。これをドットクロック(16MHz)のタイミングでいったんFF LS378で受ける。

SMI733DAC
 4つのオープンコレクタ7406で2K2/4K3/9K1/18Kを使って階調を作る。これはSMC-70のモノクロ出力回路とそっくり。MSBは1KΩでプルアップしているが、その他3bitは他のポイント(O123PU)でプルアップしている。なぜこのようにプルアップのポイントを分けているかは理解できていない。
 ALS22によりR,G,B,Xがすべて0の場合は強制的に0Vにしている。これらの信号をPNPタイプのトランジスタで受けてエミッタフォロワで出力。この回路がO123PU生成部を除いてR,G,Bの3セット分ある。

 やっと回路が起こせたのでノイズ問題の調査を再開する。

SMC-777 VGA変換時のノイズ問題 続


 SMC-777Cをシステムディスクから起動したときの画面はノイズがないが、BASICを選択しBASICに制御が移ったらノイズが発生する。どうやらBASIC側でカラーパレットボードの存在を確認したらenableにするらしい。
 ということでBASIC側から制御してカラーパレットを有効/無効にしてどう変わるか確認してみる。
 OUT &H51,6:OUT &H51,7でキャラクタ画面とグラフィック画面それぞれに対するカラーパレットの適用をOFFにする。OUT &H51,&H16:OUT &H51,&H17でカラーパレットをONにする。これによりノイズもOFF/ONと変化することがわかった。さらに絞り込んでOUT &H51,7とOUT &H51,&H17でグラフィック画面に対する設定のみでノイズが観測できることがわかった。なおBASICのWIPEコマンド(画面消去)を実行するとカラーパレットが存在すれば有効化される。
 これらの動作はSMC-777にカラーパレットボードを追加したものでも再現したので個別の問題ではなさそう。

 SMC-777Cの本体からの16色表示信号とカラーパレットボードからのカラー信号はエミッタとコレクタを共有した2つのトランジスタで切り替えている。外への出力はエミッタフォロワ。出力したい信号の反対側のベースを7405(オープンコレクタ)により強制的にGNDレベルに落として抑止している。
2022-08-08 02.36.26

 この信号の切り替えはIC60のLS74で行っている。このFFのCLKは4φ(16MHz)。
 カラーパレットボードが実装されていてdisableにされている状態では本体からのカラー信号が有効でカラーパレットボード側の信号がGNDに落とされている。このときノイズは出ない。

2022-08-08 02.46.32

 IC60(LS74 UNIT-1)のQ出力が"L"のとき、本体カラー有効。Q="H"のときカラーパレット側有効。

・カラーパレットボードが存在しないとき(*CPON="H")、常にQ="L"。
・カラーパレットボードが存在するとき(*CPON="L")は*BLANK="L"のときに強制的にQ="L"。その他"H"。

CRCPはキャラクタ表示に対するカラーパレットが有効なことを示す信号(OUT &H51,&H16)。
GRCPはグラフィック表示に対するカラーパレットが有効なことを示す信号(OUT &H51,&H17)。
C/*Gは現在表示中のドットがキャラクタかグラフィックかを示す信号。キャラクタ画面はグラフィック画面の手前で、キャラクタ文字のフォントがある位置で"H"、透過部分で"L"となる。

カラーパレット側が有効になるのは:
・CRCP="H"でC/*G="H"のときにD="H"が与えられCLK後にQ="H"。
・GRCP="H"でC/*G="L"のときにD="H"が与えられCLK後にQ="H"。

・カラーパレット側切替時に本体カラー側が落としきれてないんじゃないかなとIC106 7405(カラー信号をGNDに落とす役割)に重ねて74HC05を置いてみたが変わらず。

・カラーパレットと本体ボードを接続するケーブルCN3-CN1をシールドしてみたが変わらず。
・カラーパレットに供給される4φにダンピング抵抗47Ωを挿入してみたが変わらず。

 う〜ん、カラーパレットボードからの信号にすでにノイズが乗っているのかなあ。続く。

SMC-777用カラーパレットボードSMI-733の調査(1)

 SMC-777ではオプション、SMC-777Cでは内蔵の4096色中16色を表示するカラーパレットボードSMI-733。
2022-07-29 19.39.56

 左側面の10ピンコネクタ。SMC-777本体はCN3、このボードではCN1。
*CPONはカラーパレットボードの存在を示す信号で、この信号が有効だと内部のアナログカラー生成部分をこのボードと置き換える。CPS,*CPWPはカスタムチップCX20121からの出力でカラーパレットに色情報をCPUから書き込むための信号。X,R,G,Bは16色のパレット信号で、これをカラーパレットボード内で変換しCPR,CPG,CPB信号として出力する。
スクリーンショット 2022-07-31 3.56.41

 手前から出ている15本の配線はJ1。SMC-777本体のCN9とは逆順に接続されている。電源、16MHzのクロックと設定に最低限必要なアドレス、データ信号。
スクリーンショット 2022-07-31 3.57.04

 カラーパレットの設定はI/Oポート52H。Z80の仕様により値と同時にBレジスタの内容も使用する。

regB : 0 0 AD1 AD0 BD3 BD2 BD1 BD0
data : CD3 CD2 CD1 CD0 0 0 0 0

BD[3:0] 設定するカラーパレットの番号 0~15
AD[1:0] CD[3:0]で指定する明るさを書き込む色の指定 R=00,G=01,B=10
CD[3:0] 色の明るさ4bit 16段階

これにより16個のカラーパレットそれぞれに対してR,G,B 4bitの明るさ=12bit 4096色を設定する。


 部品配置。RB1~5は集合抵抗。基板に水平に配置する余地がなかった模様。SN74S189Nは16x4bitのSRAMで3個使うことでR,G,Bに対応する色情報を設定する。データの入出力が分離しており、データ入力側はSN74S158N,SN74LS139Nを通してCPUからの設定値が書き込まれる。その他の部品はD/Aコンバータを構成している。
スクリーンショット 2022-07-31 3.56.18

 3個のSRAMの*CSはGND接続で常に選択状態。アドレス4本、データ入力4本はそれぞれ共通。
LS139はCN9からのAD1,AD0をデコードし、CN3からの*CPWPをG端子に入れている。R,G,Bに対応するS189の*WEをセレクト。
S158はSRAMへのアドレス切り替え。CPS="H"でCPUからの書き込み時アドレスBD[3:0]を、CPS="L"でCN3からのパレット信号XRGBを選択。通常はCPS="L"。切り替えに同期信号などを考慮していないためパレット設定時にちらつきが発生する。S158は157の出力反転タイプだがどっちでもいいみたい。
SRAM_A[3:0] = CPS ? BD[3:0] : {X,R,G,B} ;

SRAMのデータ入力はデータバスのCD[3:0]直結。

 DAC調査につづく。

SMC-777 VGA変換時のノイズ問題

 SMC-777用VGA変換アダプタの試作から改版を重ねて第5版。フットプリントのミスなど修正したが残る問題は15kHz対応の液晶モニタに接続したときの画面ノイズ。黒画面だと縦に8本、うっすらとノイズが乗る。GBS8200にCSYNCを与えた状態で表示するとノイズは出ない。また、SMC-70でも出ない。
 基板の改版で同期信号にノイズフィルタを入れたり色々実験してみたが現象は変わらず。で、第5版ではディスプレイ側と本体側のGNDを分離してみた。どこか一点でGNDを取ればいいのではというもくろみ。

SMC777VGAV01L05a-pcb

2022-07-29 18.52.40

 GNDが共通でないので全体が白っぽく浮いてますね。
2022-07-29 17.19.10

 このようにディスプレイ側と本体側GNDをブリッジ。
2022-07-29 17.29.11

 このような縦方向のノイズは変わらず。
2022-07-29 18.50.18

 さてどうしたものかと悩んでいたらとつぜんSMC-777Cのスペースキーが利かなくなった。分解してサンハヤトのニューリレークリーナーで洗浄して復活させやれやれと元に戻していたら基板上のカラーパレットボードに気付く。ひょっとして、とカラーパレットボードへの配線を外してみたらノイズがなくなった。これはカラーパレットのないSMC-70ではノイズが見られないという現象と一致する。
2022-07-29 18.46.59

 カラーパレットボードには2つのケーブルが接続してある。左側面が映像信号のミックス(CN3)、手前がおそらくI/Oでの設定(CN9)。

 カラーパレットボード
2022-07-29 19.39.56

 トランジスタのエミッタ側にビーズがありますね。おそらくエミッタフォロワ。わざわざ入れてあるということは(そのままでは見過ごせないので)ノイズ対策をやってるということです。
2022-07-29 22.22.01

 さて原因はカラーパレットボードにあるということがわかった。

整理すると:
・*HSYNC、*VSYNCを使った15kHz対応ディスプレイ接続でノイズが見られ、CSYNC接続のGBS8200経由での表示ではノイズはない。RGB21P変換ケーブルではCSYNCを使うがこれでもノイズは見られない。

→TOWNSモニタのようなCSYNCで同期をとる15kHz対応ディスプレイでの表示確認
→RGBHVを使った変換ケーブルを作り、ノイズが観測できることを確認

・ノイズ対策はこの外付けのVGA変換基板では対応できない。カラーパレットボードまたは本体での対処が必要。

→回路図おこし
→パスコンをたっぷり入れてみる
→基板をシールド

 当時、カラーパレットを搭載したSMC-777Cは専用モニタまたはRGB21P接続での表示がほとんどで、*HSYNC,*VSYNCで同期するアナログ表示のディスプレイはほとんどなかったと考えられる。このためカラーパレット使用時の画面ノイズ発生は認識されていなかったのではと思われます。

 ということでカラーパレットボードの回路を調べることにします。




SMC-777/SMC-777CのROM

 今まで確認したSMC-777/SMC-777CのROMの種類について。

 SMC-777/SMC-777CのROMは27128(16Kバイト)。

SMC-777はJ50、J51。SMC-777CはJ51、J52。J52はマスクROMでSONYのロゴはあるが東芝っぽい。J50,J51はUVEPROMだった。
2022-04-07 17.17.02


 おまけ。SMC-777CのキャラクタVRAM/アトリビュートRAMと思われるがこういったパッケージはめずらしい。
2022-04-07 17.13.03

SMC-777用VGA変換アダプタの試作

 SONY SMC-777のアナログRGB OUTをVGAに変換するアダプタを作ってみた。そのまま引き出すだけなので水平同期周波数が15KHzに対応するモニタが必要。

 ケーブル製作でもいけそうだけど基板を起こしてみた。
スクリーンショット 2021-11-11 170253

 SMC-777のANALOG RGB OUTはDsub25のメスで2番ピンがキーピンとして潰してある。なので接続するDsub25のオスコネクタは2番ピンを抜く。
2021-11-11 15.23.42


RCAピンジャックで音声出力を取り出している。回路図ではGNDとAUDIOOUTが入れ替わっているが、これはネットで探してきたフットプリントをそのまま使おうと回路図側で合わせたせい。しかしこれが失敗のもとだった。そもそもフットプリントが合ってなかった。足を曲げて無理やりはんだ付け。
2021-11-08 15.20.56

 そしてDsub25コネクタ、回路図ではちゃんとオスで描いたのにフットプリントをメスにしてしまった。たった3個の部品なのに2個も間違えるとは。裏返しに実装して回避。あとはコネクタ側のネジが干渉するので外す。
2021-11-11 15.31.38


SMC-777に取り付けて確認。
2021-11-11 16.08.15

 16色表示 OKです。RCAジャックからBEEP音も出ました。
2021-11-11 16.07.45

 こういう映像出力信号が一般的でないコネクタの場合困りますよね。ということできちんと作り直して配布する予定です。


SMI-770 VIDEO SIGNAL CONVERTER

 SONY SMI-770はSONY SMC-777の周辺機器でRGBマルチ出力をビデオ信号とRF出力に変換するアダプタ。3.5インチドライブ程度の大きさでRGBマルチ端子へ接続するケーブルは直に出ている。

2021-10-09 00.35.23

 前面のスライドスイッチでモノクロ出力に切り替えることもできる。
2021-10-09 00.36.09

 中身。
2021-10-09 00.44.46

  主要なICはMC1372P、TC4007UBP、LS221、LS03、LS00。
MC1372PはMC6847(VDG)とセットで使う石でRF信号とコンポジット信号を生成する。SMC-777のビデオ出力はR/G/Bがアナログ値、水平同期、垂直同期、複合同期なのでこれらを使用して変換している。多分複合同期を使って水平同期と垂直同期は使ってないような? SONYなのでCXA1621S(V7021)を使っているのかなと思っていたがそうではなかった。CXA1621Sを使ったRGB→コンポジット信号変換キットはむかし秋月電子から出てましたね。

 なんとなく想像だがこのRGB MULTI端子を変換すれば15KHzのアナログRGB出力をコンポジット信号に変換できそうな気がする。

SMC-777用RS232CインターフェースSMI-731のアドレス推測

 SMC-777のオプションは4096色カラーパレットボード(のちにSMC-777Cに標準搭載)、漢字ROMがあるがRS232CインターフェースSMI-731の存在はオークションで見かけて初めて知った。

 SMC-777本体の落札価格相場と変わらんくらいの値段(¥15000)がついていた。よーく写真を見るとi8251搭載で中の基板から外に引き出して背面に取り付け、ボーレート設定、CD/DSR切り替え、あと1つなにかの切り替えスイッチが見える。SMC-777は外部とのやり取りはカセットインターフェース、プリンタポートとフロッピーしかないのでRS232Cインターフェースを真似して作れれば便利そうなんだが、取扱説明書『ハードウェア解説書』のI/Oマップには掲載されていない。どのアドレスに配置されているのか。

 ということでたぶん互換性があるだろうSMC-70の回路図を追ってみることにした。雑誌I/Oの1983年3月号p.369~p.384にSMC-70全回路図が掲載されている。これのRS232Cインターフェース部分、i8251の*CSにつながっている部分を見る。

追記:拡張RS232Cの方しか見てなかった。
内蔵RS232C(i8251) 0x24,0x25
拡張RS232C(i8251) 0x2e,0x2f または 0x36,0x37

内蔵RS232Cのデコード信号は*RS232C/TC 。

A7~A2をたどると001001xxなのでI/Oエリアの0x24~0x27が内蔵RS232CとRTCの場所。
IC201 P8251Aは0x24~0x25、IC213 MSM58321RSは0x26~0x27 。

スクリーンショット 2021-09-18 22.53.06


こちらは拡張RS232Cカードの回路。

SMC-70_RS232C_decode

 I/O領域に対応するアドレスA7~A0を見る。A0はi8251のC/Dレジスタ切り替え。A4とA3にはXOR経由で反転させるスイッチがある。デコードの結果は

・0x2E,0x2F
・0x36,0x37

 2チャンネル分を切り替えて使えるようになっているのだろう。これらの領域は『ハードウェア解説書』によるとシステム予約ポートになっている。

 その他回路図を見るとDsub25ピンの配置をDTE/DCE用に切り替えるスイッチがある。便利機能ですね。



以上、調べただけ。

SMC-777 フロッピードライブの修理

 SONY SMC-777を入手したがフロッピードライブにフロッピーディスクが挿入できない。通常は挿入後にメカが下がって媒体が正しい位置にセットされるのだが。

 SMC-777は底面5箇所、ファンクションキーラベル下の1箇所、背面の黒いネジ1箇所を外せば分解できる。これはマイナスネジで磁化したドライバーでないと元に戻すときに難渋する。

 フロッピードライブは本体底面のネジとコネクタ近辺のネジを外し、信号コネクタと電源コネクタを外せば取り出せる。さらにドライブのカバーを外す。

 ドライブ名はMFD-32V。OA-D32Vのデータシートが参考になる。

シャッターを開閉するL型の金具の動きが渋い。CRC 5-56を付けて指で何回か動かし滑りをよくする。
2021-09-11 19.55.44

 側面の油も固着してるようだ。ここにCRC 5-56をすこし付けてフロッピーディスクを何度も出し入れすると動くようになった。
 駆動部分、ステッピングモーター部分のシャフトにもすこし塗る。ベルトドライブはない。
2021-09-11 19.56.45

 さて元通りに組み立てるとシステムディスクが起動した。
2021-09-11 20.59.17

 色々遊んでみましょう。




記事検索
プロフィール

hardyboy

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