まごころせいじつ堂

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

2017年09月

TRS-80 model1 状況整理

 これまでの修理と調査の整理。
(1) ビデオ画面が出ない → VSYNC/HSYNCを混合する終段のCMOS IC故障。交換OK
(2) ビデオ画面の空白文字であるところに何か表示される → おそらくVRAM不良。あとで交換
(3) ビデオ画面が乱れる。VSYNC/HSYNCの調整は可能。 → 目下調査中。

 もともとTRS-80 model1はVRAMへのアクセスはCPU優先で画面にノイズがでるらしい。しかし常に出ているのはおかしい。CPUのVRAMアクセス時にはVID*信号がアサートされる。これの大元はZ80の*MREQである。ROMを抜いた状態でもVID*は定期的には発生するが、これはCPUが暴走しているせいかもしれない。確実にVID*を出さないためにZ80の*MREQをピン上げする。DRAMは挿したまま。

電源を投入すると以下の画面になる。
P_Sep22_052909

 Z80の*RESET端子を"L"にすると以下の画面になる。

P_Sep22_054744

 *RESETを解除すると画面の乱れはなくなる。しかしよく見るとキャラクタ表示がずれている。
P_Sep22_054749

 これから考えると、電源投入時になんらかの影響で画面に関わる部分(特に水平方向)がおかしくなっている。リセットにより影響元と思われるZ80が停止すると画面は安定する。リセット解除でZ80が動き出すとVRAMの読み出し→CGROMまたはセミグラフィックスのデータ取得部分でずれが生じている。Z80の動作で外部に影響があるのはアドレスとデータがぱたぱた暴れている部分。DRAMは特に影響を与えていない。

 さて、クロック生成部分を見てみる。(印がある部分はソケット化してあるところ)
TRS-80clock

 原発振は10.6445MHz。これをインバータ1個で分配している。きつそう。
Z43-1はMODESEL信号の受けで、画面横方向の表示64文字(H)/32文字(L)を切り替えている。
Z24-3はLATCH信号のクロック出力で、VRAMからのデータをいったん受けるための指示。
Z43-4はSHIFT信号のクロック出力で、LATCH信号で保持したキャラクタ番号に基づいて水平方向に画面に表示するデータをシフトする。

 ここで64文字のモードだと原発振の周期をそのままビデオクロック周りに出している。もしこの発振回路にジッタがあれば、画面の乱れとなって観測されるはず。しかしジッタを測定できるような環境にない。
 Z42をソケット化したのでここを色々差し替えて実験したところ、電源ON時に時々画面が乱れないこともあったので影響はあるようだ。ということで10.6445MHzの発振器を注文してみた。つづく。



 これがあれば……

KKmoon 信号発生器 DDS信号発生器 DDSファンクション信号発生器 デジタルデュアルチャンネル 任意波形周波数メーター 0〜80KHz 電力信号帯域幅 200MSa / s 25MHzKKmoon 信号発生器 DDS信号発生器 DDSファンクション信号発生器 デジタルデュアルチャンネル 任意波形周波数メーター 0〜80KHz 電力信号帯域幅 200MSa / s 25MHz

KKmoon
売り上げランキング : 1470562

Amazonで詳しく見る
by G-Tools

TRS-80 model1 Z80の影響について

 Z80のリセットをアサートしたままにすると画面にノイズは出なくなる。ではどの部分が影響しているのか。結論から言うと*MREQ,*WR,*RD,*IORQをピン上げしても現象が変わらなかった。アドレス線かデータ線がパタパタ動いているのが影響しているような感じ。

 さて、その結論に至るまでの調査。
 VID*という信号はVRAMのアドレスをタイミングジェネレータかZ80のアドレスかの切り替えに使われる。

VID*="H"の時:
{V0〜V5,VWR*,VRD*,A6〜A9}は{C1,C2,C4,C8,C16,C32,'1','1',R1,R2,R4,R8}
VID*="L"の時:
{V0〜V5,VWR*,VRD*,A6〜A9}はZ80の{A0〜A5,WR*,RD*,A6〜A9}
この切り替えはZ64,Z49,Z31(LS157×3)で行われる。

VID*は遡るとRAS*信号から来ておりRAS*信号はZ72(LS367)を通った*MREQそのもの。

Z21

 Z21(LS156)がアドレスデコーダでpin12(出力3)がVID*/KYBD*に関わっている。そこで近辺を観測してみる。上段がZ36-6、下段がZ21-12。

Z21-G

 Z21の出力が上まで届いていない。これについては教えていただいた。なおZ21(LS156)はオープンコレクターで下記のOD(オープンドレイン)と同じ構造。

 プルアップは4.7kで図面と同じく問題なし。タイミングはこれでいいらしい。
ここの懸念をクリアするためにZ80の*MREQをピン上げして確認した。動作は変わらず。ついでに他の制御線もプルアップしてみたが動作は変わらなかった。

つづく。

TRS-80 model1 日本向けモデルはVRAMを追加している

 修理中に気付いた閑話休題的な話。

 TRS-80 model1のVRAMは2102(1k×1)を7個使っている。bit0〜bit5までがキャラクタの番号で、bit7がグラフィック/キャラクタの切り替え。しかしZ61(bit4担当)の上に重ねて2102がもう一個ある。最初修理の跡かと思ったがこれはbit6相当で追加されていた。



 このカットも当初不明だった。これはZ30-13(LS02)からZ27-3(LS175)、Z60-4(LS267)の間をカットしてある。
2017-Z27


 元々はVRAMのbit6相当は!bit7 & !bit5だった。ここをカットして追加したSRAMのDoutを接続している。Z60-5(LS367)出力はDinに接続している。
Z30-13

 これは日本語化にあたりカナを追加するためにキャラクタ番号を0〜63から0〜127にしている。キャラクタジェネレータのROMもカナ対応のものになっているはず。

以下の記事で気付いた。

TRS-80 Model 1 L2 – Lowercase characters Hardware mod(CREW NIGHTFALL)

あと、回路図などはこちらがより新しい。トラブルシューティングの方法も載っている。
Radio Shack TRS-80 Micro Computer Technical Reference Handbook 2nd.zip
TRS-80 Model I Documentation

太陽フレアによるGPSの誤差を見てみたい

 2017年9月6日に大規模な太陽フレアが発生し、その影響で9月8日に電離層が乱れGPSの誤差が発生するらしい。
【電子版】大規模な太陽フレア発生 地球への影響は8日午後-情通機構が発表 (日刊工業新聞)
宇宙天気情報センター(NICT)

 で、実際に発生したようだ。
太陽フレアでGPSの誤差増大 国土地理院が報告(ITmedia)
9月6日に発生した太陽フレアのGPS測位への影響(速報)(国土地理院)
11年ぶり大規模な太陽フレア-GNSS測位に影響(速報)(測位技術振興会)

 この前実験した手持ちのGPSモジュールがあるのでこれで観測できないかと考え終日ログを取ってみた。Windows上でTeraTermのログ機能を利用する。時刻情報はGPSのデータ内にあるのでタイムスタンプは付けない。GPSモジュールからは毎秒データが送られてくる。

 採取したログはDropBox経由でMacOSに持っていきawkで加工。そしてWindowsに戻してExcelでグラフを描かせる。
https://gist.github.com/houmei/b9c9dc6d120f7243fffd5ad400c3d69d

加工したのは$GPSRMCからの緯度経度情報のみで誤差情報などは見ていない。



GPS20180908

 時刻はUTCなので+9時間してください。8日13時〜9日5時までの緯度経度について、基準点からのズレを表示。飛んでいる箇所はGPSから座標が取得できなかった時間。22時くらいに跳ねているのがわかる。

GPS20180909


 比較のため9日の9時〜12時くらいまでのデータをみるとそんなに跳ねていない。

 適当にやってみたけどこんな感じ。次回はより厳密に、部屋から出して衛星を常に捕捉できる状態にしてみるかな。


TRS-80 model1 ビデオ出力乱れの調査

 さて、画面に文字らしきものは見えてキー入力にも応答しているっぽいのだが非常に乱れている。以降はビデオキャプチャの画像。
P_Sep05_231038

 先に電源部分の電解コンデンサの容量抜けを疑ったが問題なかった。
 CPUをソケットから抜いてみた。VRAMは初期化されないのでランダムなキャラクターを表示する。乱れはない。
P_Sep04_221238

 ということはCPUが動作することによりビデオ回路に悪影響を与えているように思える。
CPUを元に戻し、リセットスイッチを付けてみた。C42の電解コンデンサの両端から線を引き出してトグルスイッチをハンダ付け。RESETをかけっぱなしにすることによりCPUはバスからフローティング状態になる。DRAMのリフレッシュもやらない。

P_Sep04_221300

 これは何度か[ENTER]キーを叩いた後でリセットをかけっぱなしにした画像。プロンプトらしきものが見える。空白であるべき部分がカンマになっているが、これはどうやらVRAMのデータの特定bitが故障しているようだ。いまは画面の乱れの調査に都合がよいのでこのままにしておく。

 さて、ノイズ源となり得るものにはDRAMも考えられるのでこれをソケットから抜く。CPUは挿したまま。
P_Sep07_200026

 リセットをかけると画面は安定。この後、リセットを解除したりかけたりしてもこの表示のまま。電源を再投入すると乱れた画面になる。
P_Sep07_200058

 CPUあり、DRAMなしの構成でリセットの前後で変化する部分を探すことにする。画面の乱れに悪影響を与えるのはCPU/DRAM、受けるのはビデオ回路のタイミング生成回路と主に水平部分。

 Z42(LS04)はクロック発振とVRAMのキャラクタ/グラフィック切り替えに使われている。ここをソケット化しパスコン追加、HCU04に変更。現象は変わらず。VRAMのキャラクタ/グラフィック切り替えのゲート部分をピン上げしてキャラクタ表示のみ/グラフィック表示のみにしてみたが現象かわらず。つまりキャラクタ表示/グラフィック表示個別の問題ではない。

つづく。

MINGCHANG EasierCap USB 2.0 dc60テレビDVD VHSビデオ S端子 キャプチャアダプタUSBビデオキャプチャ レコーディングアダプタAVI/JPG/BMPMINGCHANG EasierCap USB 2.0 dc60テレビDVD VHSビデオ S端子 キャプチャアダプタUSBビデオキャプチャ レコーディングアダプタAVI/JPG/BMP

MINGCHANG
売り上げランキング : 8484

Amazonで詳しく見る
by G-Tools

記事検索
プロフィール

hardyboy

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