まごころせいじつ堂

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

レトロPC

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

 色々遊んでみましょう。




FM11RAM V01L02 完成

 FM-11用拡張RAMカードの代わりとして使えるメモリボード。128KB/512KB SRAMを使用してFM-11のメモリ空間1MBをカバーできる。
 
これまでの関連記事:

2021-07-12 23.52.01

特徴
・128KB SRAM 1~4個または512KB SRAM 1~2個で最大1MBのメモリ空間
・FM-11EXなど本体内蔵の128KBを避けることができる
・アドレスデコードはGAL 16V8 1個

使用方法
・DIPスイッチ設定
 ENB 通常ON / OFFでSRAMのセレクト抑止。デバッグ用。
 D128 FM-11本体内蔵の128KBに相当するアドレス$00000~$1FFFFを抑止する。
 R512 ONで512KB SRAM、OFFで128KB SRAMを使用
 SEL 128KB SRAM(R512=OFF)のモードでアドレス空間を指定する。
  OFF $00000~$7FFFF
  ON $80000~$FFFFF
・取り付け
 FM11RAMカードは本体100ピンのスロットに対し64ピンしか使用しないため、1ピン側(拡張カード背面側)に寄せて実装する。

回路図

※右下のU6,U7は基板に予備パターンを載せたかっただけで無関係
FM11RAMV01L02sch

FM11RAMV01L02pcb

F1280101 GAL 16V8 アドレスデコード

部品表
U!~U4 SRAM(128KB) HM628128BLP-8,TC551001CP-85L
または
U1~U2 SRAM(512KB) AS6C4008-55PCN
U5 GAL ATF16V8B
J1 L型ピンコネクタ64P(32x2)
J2 DIPスイッチ4P
RN1 集合抵抗10KΩx4 (x8も可)
C1~C5 0.1uF50V積層セラミック
C8 10uF16Vアルミ電解コンデンサ
※C6,C7は空き
※必要に応じて 32P ICソケットx4、20P ICソケット x1

確認済項目
・FM-11EX(F-BASIC4.0) 先頭128KB抑止(D128=ON)にて
 512KBx2 全スロット認識確認
 128KBx4+512KBx1 2枚構成で認識確認
 512KBx2 CP/M86にて960KB認識確認

2021-07-09 01.25.52

さらにテストを行った後で設計資料一式の公開と基板の頒布を予定しています。

FM-11拡張RAMの簡易確認

 FM-11は128KBのメモリをマザーボードに内蔵している(AD2+は内蔵なし、256KBカードを実装)。6809カードは電源投入後、メモリ領域を0クリアし確認する。6809カードのBOOT ROM WU11-11ではメモリチェック状況を画面に出力する。128KB単位で緑色の">"を、メモリ領域が不連続でも表示する。
2021-06-27 21.47.01

 さて、作っているFM-11用のメモリカードだけれどもどのように動作確認しようか。F-BASIC4.0/5.0では最初の128KBの先、$20000~は認識しないのでOSが勝手に使うこともない。簡単にはPOKE文でMMR(Memory Management Register)を操作したのちMONで機械語モニタから覗くことができる。

 これは前回のGNDが浮いた状態の$20000~をダンプしたところ。MMR $FD35に書き込むことにより6809の$5000~$5FFFを4KB単位でA19~A12の任意の空間に割り当てることができる(F-BASICではこのアドレス変換は有効)。ここでは$5000~$5FFFを$20000~$20FFFに割り当てて確認している。
2021-06-28 02.35.50

BASICで確認用プログラムの土台を作ってみた。

2021-06-28 02.53.02

 これは$80000~$FFFFFにRAMを実装したときの実行例。0クリアが確認できる。
2021-06-29 15.14.41

 BASICからメモリを読み書きするのは非常に低速になるので、負荷をかけるには機械語でテストコードを書くか、ここまで確認できたらOS-9上で何か動かしてテストするのもよかろうと思います。

Programming the 6809
Labiak, William
Sybex Inc
1982-09-01


KiCadの浮きベタ

 前回、FM11のバスとそのサブセットで作りかけた、FM-11用のメモリをKiCadで製図しプリント基板をALLPCBに製造依頼した。

 デバッグのために4個のSRAMの*CSに対応したLEDを付けている。
2021-06-27 21.49.45

 さて動作確認してみると2番め(U2)のSRAMだけ読み書きでデータが化ける。一部のビットしか読み書きできない。アドレス/データバスは正しくつながっている。ほかのSRAMは正常に読み書きできるのでショートなどしているわけではなさそう。SRAMを交換しても現象はU2の位置についてまわる。基板の問題だがU2の下はビアが多く配線が混んでいる。製造不良だろうか?

 そんな中このつぶやきを見て気付いた。

 CMOSデバイスは電源の配線を忘れていても信号線から回り込んだ電力で動いてしまうことがある。SRAMの電源はみていなかった。テスタで確認するとU2のpin16がGNDに接続されていない。

 メッキ線で基板を修正したらU2もメモリチェックをパスした。
2021-06-29 15.12.35


 さて、次は個別故障なのか設計ミスなのか。

 KiCad (5.1.8)-1 で設計した配線でU2周辺を確認。

スクリーンショット 2021-06-30 032745

 16ピンはベタ経由でGNDにつながっているはずが、そのベタが周囲から浮いている。
スクリーンショット 2021-06-30 032820

 これは浮きベタというやつ。DRCでは警告されなかった。
コートヤードのオーバーラップは無視して製造に出したが、基板セットアップでこの警告が出ないよう消してみても配線に関するDRCエラーは出なかった。
スクリーンショット 2021-06-30 025502

































 これは目視確認漏れによるミスになるなあ。この浮きベタ内にGND属性のビアがあって、それをもってGNDに接続されているとDRCは判断したのかもしれない。あと予防策としてはベタに接続できるよう GND(電源端子)を囲ってしまうような配線を引かないこと、だろうか。

 改版作業中。



FM11のバスとそのサブセット

 主に『FM-7/11活用研究』(工学社)と実機を元にFM-11の拡張バス(FM100BUS)を調べた。

FM-11 BUS(Google Docs)

 100ピンのバスはメモリやI/OやCPUもまったく同じでCPUカードはサイズがやや大きいだけ。同一ピンのNCはすべて接続されているのでこっそり利用できるかもしれない。
 FM100BUSは68系の同期バスがベースでアドレス空間を20bit(1MB)に拡張している。8088カードはバスを変換してメモリやI/Oをアクセスしている。
 FM-11EXなどで内蔵している128KBメモリや増設メモリのDRAMリフレッシュはバスマスタの責任で行わなければならない。Z80カードは単独では動作せず6809カードか8088カードが必要になるが、これらから制御を渡されてメモリアクセスをするときにはリフレッシュを行わなければならない。

 FM-11の拡張基板は短辺が秋月B基板の長辺と同じ、長辺が秋月B基板の短辺4枚分より10mmほど短い。約95mm × 278mm。
 で、秋月B基板の長辺にはたまたま秋月電子で扱っているL型ピンソケット2x32(64P)がぴったり収まり、FM-11のバスを見るとメモリアクセスやI/Oに必要な信号がこの中にはいっている。ということで増設メモリカードを作りかけた。
2021-06-28 10.10.39

 手配線にくじけてプリント基板を発注したのだけれども、それとほぼ同時に64ピン分のみ抜き出したFM64BUSボードを作ってみた。レイアウトに失敗してDCジャックやパスコンが取り付けたカードに干渉してしまうがこんな感じ。
2021-06-28 10.19.32


 作った後で気付かされたけどFM-11の本質はFM100BUSだったのか〜 


ICの錆落とし

 ふるい基板だと部品の端子が錆びていることが多い。これなんかソケットに入っていたICの足が錆びて脆くなっていた。クエン酸水溶液に浸けて錆取りに挑戦したこともあったが、一晩かけてもわずかに錆が取れて沈殿する程度だった。
 今回はネジザウルスリキッドを使って錆落としをやってみた。泡の出るタイプを工具に試したらかなりよかったので液を垂らすタイプを使ってみる。

 CBM3032のCGROM。これに対してやってみる。
2021-06-20 18.12.55

 パッケージがちょうど収まるようなプラ容器があったので浸ける。錆は紫色になって出てくる。
2021-06-20 18.15.54

 ネジザウルスリキッドに浸けて数分おき、水洗い。これを10回くらい繰り返す。
2021-06-20 18.27.01

 刻印が読める程度に錆を落とすことができた。
2021-06-20 18.47.15

 セラミックパッケージの金属部分の錆落としに関して有効。ただ、パッケージを封止しているこの金属の蓋の隙間から水分が侵入するかもしれない。このCGROMはデータを取り出した上で錆落としをやっているので観賞用ということで。



基板取り付け用シュリンクDsubコネクタの違いについて

 FM11用RGBIインターフェースを基板化してみたのだが、VGAコネクタ(シュリンクDsub 15Pコネクタ)について差異があったのでメモ。

 右側にVGAディスプレイに接続するためのシュリンクDsub 15Pコネクタ(メス)を配置している。
上から順に購入した店と型番を列挙。

2021-06-16 15.56.52

KiCadでのフットプリントは
Connector_Dsub:DSUB-15-HD_Female_Holizontal_P2.29x1.98mm_EdgePinOffset3.03mm_Housed_MountingHolesOffset4.94mm

このデザインで上記コネクタを実装しようとすると(2)はすんなり挿入できる、(3)はややひっかかる、(1)はピン列を少し内側に曲げないと入らない。

当初同じものだと思っていたのだが、(1)と(3)は黒くて少し長い。(2)の青くて短いタイプは秋月電子の基板付きプロトタイプキットに付属していたものと同じもの。ただし秋月電子のキットは廃番でもう検索もできない。

 ということでキットとして提供するなら(2)で、完成品として販売するのなら(1)(3)も可、と判断。

※他の店からも手配しているので結果は順次追加予定。

 (1)千石電商のものと同じくピン列を少し内側に曲げないと入らない。色は青だが外形は長い。

2021-06-17 20.15.52

 問題なし。(2)と同じくスッとはいる。格安だが着荷まで時間がかかる。今回は17日かかった。
 こちらも問題なし。

2021-06-21 16.45.29




PET2001 キャラクタの右半分が欠ける問題

 CMB3032はもう一台あるのだが、このマザーボードはキャラクタ表示に問題がある。文字の右半分が表示されない。
2021-05-08 20.58.52

 これはCGROMの出力を読み出してパラレルーシリアル変換後表示をしている部分があやしい。
PET2001CGROMLS165

 挙動としてはCGROM6316の出力D7~D4は正常に出力されているがD3~D0は"0"のままE11 LS165に取り込まれている。LS165によるシフト動作、S/LやCKに問題があるとすると右半分はシフトできずall'0'にはならないはず。
 CGROMを正常に動作しているCBM3032のものと交換してみても挙動は同じ。海外のフォーラムを探してみると同じような症状でCGROMを交換したら直った、というのがあったが何が違うのか。

  ということでE11 LS165をソケット化し、D3~D0に対応する部分を10KΩプルアップしてみたが挙動は変わらず。
2021-06-16 00.06.24

 そんなことをやっているうちに電源が入らなくなってしまった。まいった。

次はCGROMを現行品で入手できるROMに焼き直してピンを変換しテストしてみる。


※解決編

 ROM焼き直しは関係なかった。筐体を正常動作するものと交換して確認を続ける。

E11 LS165でシフトとロードを制御している部分はG9 LS74のQ出力。このFFはDRAMリフレッシュやビデオタイミングを生成しているH3 74164から制御されている。H3を74LS164に交換しても変わらず。
G9 LS74は……TL866PLUSで確認するとエラーがある。故障している。これを手持ちのHC74に交換。
スクリーンショット 2021-06-19 030638
 
 正常に表示した。E11 LS165のプルアップを外しておく。
2021-06-19 03.26.11




PET2001 データセットの修理 メカ編

 Commodoreのパソコンで使うデータセットの写真集


で、今度は横長のデータセットの修理。

 症状はPLAYを押してもちゃんとテープが動かない。早送り/巻き戻しはOK。
2021-05-18 20.27.26

 縦長のデータセットとはメカが異なる。ゴムベルトのテンションを確認したが問題なさそう。正常に駆動しているが念のために交換。
モーター:角1.2φ 75mm
カウンター:角1.2φ 55mm
カウンター用のゴムベルトは55mmでは若干ゆるかったので元に戻した。
※角0.95φの40mmまたは50mmが適合。
2021-05-18 20.39.51

 ベルトは交換したけど現象は変わらず。分解した状態で観察したらキャプスタンとピンチローラーの間が滑っている。ここが密着していないとテープは正常に走行しない。まずピンチローラーをアルコールで清掃。
2021-05-18 21.07.46

 ピンチローラーを押し上げるバネが弱いのだろうか。外して少しひろげてみる。
2021-05-18 21.17.36

 広げたバネを付け直してみたがキャプスタンとピンチローラーがどうも密着していない。ピンチローラー部分を下から押し上げると引っかかりがある。指の感覚をたよりに探ってみると、ピンチローラー右の金具が歪んでいた。ここに引っかかっているようだ。
2021-05-18 21.29.01

 そういえばカセットのフタがEJECTボタンを押してもきちんと開かなかったのだが、この部分がEJECTボタンと連動してカセットのフタを押し上げている。ペンチで直してキャプスタン部分もカセットのフタも期待通りに動くようになった。ロード/セーブもOK。

 金具の歪具合からみて、カセットのフタを開けた状態で無理やり閉めるか落としたか、そのようなことで壊れてしまったようだ。逆に考えるとEJECTボタンでフタがきちんと開かないものはここが疑わしいということでしょう。

 今回電気とまったく関係ありませんでした。









PET2001 データセットの修理 回路編

 前回でメカの部分は修理したがまだロードやセーブができない。ということで次は電子回路部分を追っていきます。

データセット内の基板はいくつかのバリエーションがあって、今回調べるのはこれ。
※回路図は診断コネクタのpin6(READ DATA)とpin5(+5V)が入れ替わっています!

主な部品はデュアルオペアンプLM358 x2、7414 x1。
2021-04-23 22.37.35

 症状だがロード(読み出し)、セーブ(書き込み)ができない。他のデータセットを使って記録したカセットテープも読み出せないが、セーブすると内容は消去される。つまり録音再生ヘッドの部分は動作せず消去ヘッドは動作している。

 コネクタから基板までの導通チェックをしても問題なし。読み書きともできないということで磁気ヘッドを疑う。テスターで録音再生ヘッドの導通チェックをすると約310Ω。基板から磁気ヘッドの配線を外して確認しても同様なので、断線などはしていない。
2021-05-03 00.54.37

 次にスイッチ。これはRECボタンと連動する3極6連のプッシュスイッチで、このうち3連使っている。
赤で囲んだ部分がすべてショートしていた。これは録音再生ヘッドの信号を受けるオペアンプの初段入力が7414の出力と常にぶつかっている状態になる。
2021-05-03 01.54.39-1

 ということでスイッチ部分を洗浄。IPAを使ったら赤錆が出てきた。さらにニューリレークリーナーで洗浄し、正常に動作するようになった。


 以下の写真ではもし改善しなかった場合に備えて未使用の3Pスイッチ部分が使えるようにランドを剥がしている。結局使わないで済んだ。
2021-05-03 15.15.58

 動作確認。相変わらず読み込めないがセーブはできた。スイッチの切り替えは期待どおりであとは磁気ヘッドからのアンプ部分が疑わしい。

 アンプ部分はLM358の4段で、磁気ヘッドから反転増幅(-33倍)/イコライザー(-6.3倍)/イコライザー(-14.4倍)/非反転増幅(221倍)の順に繋がっている。トータルで4419倍になり、最後はインバータ7414の2段を通ってPET2001本体に繋がっている。インバータの入力スレッショルド電圧から考えると磁気ヘッドの出力はmVのオーダーとなる。
 何も考えなければLM358の交換だけやってみるけど今回はファンクションジェネレータを使って追ってみる。

 これ最低の振幅が200mVだけどまあいいか。1kHz正弦波を入力し、オペアンプの出力をオシロスコープで確認。しかしCRを介して結合している箇所を除き波形が全く見えない。リファレンス電圧を生成している部分を確認したら1.8V出ている。同時に2個壊れることってあるのかな?

2021-05-07 05.59.53

 LM358を2個とも交換する。ハンダブリッジなどやってしまったがこれでOK。
2021-05-07 06.05.26

 さて、このデータセット自身でのテープの読み書きはできるようになったのだが他のデータセットではどうか。あらかじめ別のデータセットで保存しておいたカセットテープは読み込めたが今度はその別のデータセットで読み書きができなくなってしまった。こんどはこっちか、ヤンナルネ

→ニューリレークリーナーでのスイッチ洗浄で直りました












PET2001 データセットの修理 駆動編

 前回はPET2001本体の部品交換と別の動作するデータセットを用意して解決したが、手元に動かないデータセット2台と預かり品の1台があるため修理してみた。
 データセットはCommodore 1530 またはC2Nという名前で、Commodore64まで共通に使える。ここでは縦長のデータセットを扱います。



 初代PET2001に内蔵のデータセットは市販のカセットレコーダを流用している。カットされたケース部分にはスピーカーグリルと電池ボックスの跡がある。
2021-04-24 23.56.18

 これは外付けのデータセット。
2021-04-23 22.37.35

 これは別の外付けデータセットの基板。パターンが手書きではなくなっている。
2021-05-03 01.15.56

 ほとんどの場合、ゴムベルトが劣化して切れているが弾性がなくなっているのでこれを交換。角ゴムベルトの直径80mm、厚さ1.2mm。


 フライホイール(一番大きくて重い灰色の円盤)を固定している箇所のネジを緩め、ゴムベルトを通してモーターとプーリーに引っ掛ける。


 モーターそのものが動かない場合は6Vの電圧をかけて単体で回転するかどうか確認する。モーターはらは茶色のシールド付きケーブルが1本、基板にはんだ付けされている。
2021-04-11 19.34.18

 モーターはCANON MD39-R5CN-F または MD39-R24CN-F。最大12V 3800rpm、PETでは約6Vで駆動している。ebayで入手可能。
2021-04-13 23.45.03

 カセットのメカ自体はフレームを留めているネジ3本を外すと上部カバーを外すことができる。通常はここまでバラす必要はない。
2021-05-03 01.02.14

 PET2001に接続して巻き戻しや早送りができれば駆動系に関しては済。手持ちの1台はこれだけで使えるようになった。この状態でセーブやロードができなければ基板その他の電気系に問題がある。

つづく

YIS-303 メモリ増設+16KB

 YAMAHAのMSX YIS-303は上位機種YIS-503とくらべてプリンタ周りの削減、メモリが半分の16KB、そしてキーボードが変更されている。7〜8年くらい前に分解したらメモリの増設が簡単そうだったので(今頃)やってみた。

 基板全景。
2021-04-23 13.05.01

 プリンタポート近辺。ここはLS74,LS32,LS125,LS374およびプリンタ用のコネクタを実装すればよさそう。今回はやらない。
2021-04-23 13.20.44

Z80A近辺にMB81416(16Kx4bit DRAM)の空きパターン。スルーホールのハンダを抜く。
2021-04-23 13.20.49

 DIP 18PのICソケット2個をはんだ付けしてM5M4416P-15を実装。上側にある黄色いワイヤーはアドレスバッファ用途のLS244に交換するところだが今回は無視。また16Kx4 DRAMは120ns品が指定してあるが手持ちの150ns品を使用。このあたりはまあ動くだろうという感じでやってます。
2021-04-23 14.09.33

 32KB認識しているっぽいですね。長時間動作はさせていないのでとりあえずOKということで。
2021-04-23 14.23.45

 16Kx4bit DRAMの種別に関しては

ザイログZ80伝説
鈴木哲哉
ラトルズ
2020-08-25


をどうぞ。


FM-11用RGBIインターフェース

 FM11はテキスト領域で16色、グラフィックス領域で16色中8色が表示できる。これまでは以前作ったRGB-VGA変換ケーブルを使っていたができそうだったので作ってみた。

FM11のカラー映像出力はDIN8P。
1.. +12V
2.. GND
3.. INTENSITY
4.. *HSYNC
5.. *VSYNC
6.. RED
7.. GREEN
8.. BLUE

(TOP VIEW)
DIN8P-RECEPTACLE

通常のRGB 8色に加えてINTENSITY信号で輝度を変える。RGBI 16色の場合はINTENSITY信号が"H"で輝度最大、"L"で半分。黒についてはINTENSITY=”L"で最低輝度、"H"で白のINTENSITY="L"よりも低い輝度の灰色。
ZX SpectrumもRGBIだが黒のINTENSITYはサボっていて15色。FM11はユーザーズマニュアルシステム解説を読んでもそんな記述はなく16色と書いてある。


アナログスイッチ74HC4066を使えばデジタルRGBからVGAの映像信号に繋ぐ抵抗をINTENSITY信号で切り替えれば実現できそう。

しかし先程の黒のINTENSITYに対応しなければならない。追加で74HC27を使いR,G,B入力がすべて"L"のときにダイオードでR,G,B出力に低輝度の灰色が表示できる電圧を供給する。

FM11RGBI-CONN

FM11RGBI-MAIN

+12Vから5Vを生成する部分は省略。78L05で充分だけど手持ちの7805を使用した。
2021-04-21 03.30.22

2021-04-21 03.30.38

 F-BASIC V4.0でテスト。COLOR C,,,A でCは0~7、Aは0/4でINTENSITYの有無。
2021-04-21 03.49.15



 さてついでにFM-7の16色について。元々はRGB 8色表示だが使われているカラーパレットIC MB15021はFM-11と同じもの。カラー映像出力のDIN8PについてFM-11の違いはpin3がINTENSITYではなく2MHzのクロック。これはFM-8と同じでライトペン用のもの。FM-11ではライトペンは専用のコネクタに接続する。
 FM-7は内部のジャンパJ3でカラー映像出力のpin3をINTENSITYに切り替えることができる。実際切り替えて実験してみた。ジャンパJ3はメイン基板の右上側にある。

■ ■ ← MB15021のINTENSITY出力
↑← 2MHz CLK
■ ← 7407P経由でpin3

2021-04-21 17.02.10

 F-BASIC V3.0で8色中16色の実験。パレット指定のCOLOR=(P,C)でPのパレット番号0~7、Cのカラー番号0~15が指定できた。つまりINTENSITYの指定はもともとサポートしていたことになる。
2021-04-21 17.27.02

 こうしてみると色々想像しますね。FM-8の後継FM-7は8色中16色表示が可能だった。BASICでパレット指定のサポートも行ったが、ハードウェアはFM-8との互換性をとった。RGBIをサポートしているディスプレイは当時特殊でRGBまでのものが多数だったせいかもしれない。

 さて作ってみたがやや表示が暗いと感じるので調整が必要かもしれない。330//330Ω、330Ω、330+330Ωにしているが220Ωに変えてもよいかも。


パソピア/パソピア7用ジョイスティックアダプタPA7390

 古いパソコンにはごくまれに期待してなかったオプションが入っていることがあって、入手したパソピア7にはジョイスティックアダプタPA7390がささったままだった。

2021-04-11 02.03.01

2021-04-11 02.03.23

 主要な石は8255にTC40H004P。片面基板。
2021-04-11 02.06.37

2021-04-11 02.06.54

PA7390の回路図はI/O1983年12月号p.213『パソピアにタッチパネルを継ぐ』に載っている。


PCG6500の取り付け

 PCG6500、残りは元オーナーによるPCG有効/無効の切り替えスイッチをどうするか。

 IC7:CGROM A9(22) - IC8:LS00(13)間をカットして、6Pトグルスイッチの片側で信号を通すかGNDに落とすかで切り替えているが、パターンカットした表面にはんだ付けして信号を取っていること、劣化したセロテープで巻いてケース内にごろんと置いてあったので固定することに。6Pトグルスイッチのもう片方でブラケット入り二色LEDの表示を切り替えているが、全面パネルに穴を開けるわけにもいかないので(鉄板だし)、背面フラットケーブルの取り出し口にプラ板などで取り付ける。

2021-04-03 22.51.07

 高速に変化するアドレスA9の信号をスイッチに通すのはよろしくないので、ANDをかますことにした。LS08は手持ちになかったのでLS00で構成。トグルスイッチは"H"か"L"に切り替えることでPCGを有効/無効にできる。
2021-04-04 08.31.28

 PET本体のCGROMソケットに接続するケーブルだが、丸ピンICソケットで保護した状態だと筐体背面の隙間を通せない。どおりで受け取った時のコネクタのピンが曲がっていたわけだ。

 Userportもデリケートで、外すときに引っ張ってケーブルの1本を切ってしまった。また、キーが潰れているせいで間違えて上下逆さまに取り付けてしまった。この状態だとPCGへの書き込みができず、スピーカーから画面の変化に応じた音が出る。
 外すときにケーブルを引っ張らないようつまみを付けてみた。
2021-04-04 17.08.17

 PCG6500本体はPET2001の上部に載せて背面で連結してネジ止めするのだけれども後ろの足は浮いてしまう。これは仕様。

 さて接続後、POKE 59468,14でグラフィックキャラクタをカタカナに置き換えることができる。これはPCG6500未接続または無効にしたときの表示。
2021-04-03 23.11.39

 PCG6500が有効だと後半64文字がユーザーで定義した文字を表示する。データは適当に書き込んだのでこのようになった。
スクリーンショット 2021-04-04 16.41.49

 テストプログラム。
2021-04-04 17.43.30

 このような結果になる。
2021-04-04 17.44.40

 0クリアしたり斜線が描けたりするので少なくともデータ部に関しては問題ない。
2021-04-04 17.49.57

おまけ:偶然見つけた。BASIC Programmer's TOOLKITやPCG6500の広告が載っている。

PCG6500の回路を調べる 制御論理

 PCG6500の回路を調べる Userportの続き。これで最後。

 SRAMへの書き込み、セレクトなどはまとめて図を起こした。
 ここでPET_A9 IC7:(22)とIC8:LS00のpin13間がカットされてトグルスイッチが挿入されていた。ここは元オーナーによる改造と思われる。カットしたLS00のpin13をGNDに落とすとPCGによる変換が無効になる。

PCG6500LOGIC

 IC3:LS04のうち2つは未使用。ADDRSELはIC1:LS123のトリガ入力(1)(9)にも接続されている。
IC1:LS123の*Q2(13)はSRAMの*WEに接続されており、ライトのパルス一発を生成している。
時定数はRx=1kΩ、Cx=4700pFで約4.7μs。

 IC1:LS123の裏は改造されていたが、テスターでパターンを追っていくとLS123で間違いない。どうやらLS123の代わりに別のワンショットIC、CD14538Bで設計した可能性がある。これはメーカー側での修正と判断する。
 2021-03-25 21.58.09














 で、ワンショットの片側の出力、どこにも繋がってないのよね。コンデンサも抵抗も実装してあるのに。SRAMブロックのデータ上位とデータ下位でそれぞれライトパルスを出すつもりだったんだろうかと想像。


PCG6500の回路を調べる Userport

 PCG6500の回路を調べる ROM/RAM の続き。

 PCG6500のデータ書き込みはUserport経由のVIA PA7-PA0で行う。CGROM/PCG切り替えはCA2、サウンドはCB2なのでPCG6500の制御は結局VIAですべてやっていることになる。

W65C22のデータシートのほうがみやすいですかね。

 PCG6500のデータ書き込みについてはマニュアルと日本語による解説があった。

 PET2001のVIA 6522のアドレスは$E840から16バイト。

 書き込みは$E843(DDRA)に$FFを書き込み、PA7-0を出力に設定し、以下の手順。$E84FはPA7-0のポートに対応。

$E84F <- 1100_D7D6D5D4
$E84F <- 0000_D7D6D5D4

$E84F <- 1000_D3D2D1D0
$E84F <- 0000_D3D2D1D0

$E84F <- 0100_A8A7A6A5
$E84F <- 0000_A8A7A6A5

$E84F <- 001_A4A3A2A1A0
$E84F <- 000_A4A3A2A1A0

D7~D0:ドットのデータ
A2~A0: キャラクタのライン位置
A8~A3: キャラクタの番号0~63 これがCGROMの64~127に対応する。

・PA7-PA6デコード
 UserportからのPA7,PA6はIC2:74LS42の入力A1,A0に接続されている。A2,A3は"L"。デコード出力はインバータを経由して3つの4bit D-FF 74LS75のenableに接続。IC4~IC6の入力はPA3~PA0にパラ接続。
*1がIC4でA6,A5,A6,A7、*2がIC5でD3~D0、*3がIC6でD7~D4を保持する。

・SRAMとの接続
 IC5,IC6の出力D7~D0はSRAMのD7~D0inに接続。これが書き込みデータ。
 LS157によるセレクタIC9,IC10,IC11の0側入力をSA8~SA0とすると、以下のように接続。
SA8,7,6,5 = IC4出力
SA4,3,2,1,0 = PA4,3,2,1,0

 ということでケーブルの断線は改造のためといった意図的なものではなさそうなので元通りにはんだ付けした。しかしこの接続、信号線だけでGNDがないのよね。
2021-04-03 19.25.10

 PET2001のUserportに取り付けるときはこちら側を下にする。キーがあるので逆にはならないけど。
キーは潰れている事がある!!
2021-04-02 21.10.47

 CB2については単なるLM386によるアンプなので省略。
2021-04-03 18.41.27


つづく

PCG6500の回路を調べる ROM/RAM

 PCG6500内部調査の続き。

 POKE59468,14でPCG ON、POKE59468,12でPCG OFF。これは文字のキャラクタセット128文字を小文字(日本モデルではカナ)に切り替えるための操作でC5:VIA 6522のCA2ポートに対応する。PCG6500ではこれを内蔵のRAMで定義した64文字と置き換える。
 CGROMはA10~A0の2Kバイトで、前半(A10="L")が通常のキャラクタ128文字、後半(A10="H")が小文字やカナのキャラクタ128文字に割り当てられている。



・CGROM

 PCG6500は、PET2001本体のCGROM F10:6316を外して24ピンのフラットケーブルで信号と電源を取り出している。これがPCG6500の本体コネクタCN1。外したCGROMはICソケットIC7に装着する。

 フラットケーブルが接続されるCN1のうち、A10-A0,D7-D0 はIC7の対応するピンとパラに接続されている。PET2001Nの回路図をみるとCN1:CS1(20)=GND、CN1:CS2(18)=GND、CN1:CS3(21)=*INIT に接続。

 IC7:CS3(21)=Vcc、IC7:CS2(18)=GND。IC7:CS1(20)=IC8:LS00(8)で、"L"のときにIC7ソケットに挿したCGROMが有効。

・SRAM

 定義したデータを格納するIC12~IC15のSRAMは256バイトx4のD2101AL-4。4個で合計512バイト、64キャラクタ分。IC12,IC13はデータの上半分D7~D4、IC14,IC15はデータの下半分D3~D0担当で、それぞれのデータアウトがCGROMのD7~D0とパラに接続。アドレスはA7~A0だが、*CE1(19)でIC13,15とIC12,14のどちらか片方がenableになる。これがアドレスA8相当。データ出力はODで制御される。


・アドレスセレクタ
 SRAMアドレスはPET2001Nからの参照用とデータ書き込み用の二種類のアドレスを3個のM53357P(74LS157) IC9,IC10,IC11で切り替えている。
セレクト信号は0でSRAM書き込み、1でSRAMをキャラクタジェネレータとして使う。
それぞれの出力、IC9はA4,A5,A7,A6、IC10はA0,A1,A3,A2、IC11はA8(*CE1)、ODに接続。
入力0側はPCG内の書き込み用アドレスラッチとユーザーサポートの値、入力1側はCN1からのアドレス8~A0。

PCG6500ROMRAM

つづく





CBM3016(PET2001N) CRT輝度調整のVR修理

 PET2001のCRT背面には輝度調整のつまみが出ている。このCBM3016は電源を入れても画面に何も表示しないことがあり、このつまみをグリグリ動かすと表示したり消えたりする。

CRT背面の金属パネルを外すとこのようになっている。
2021-03-31 16.08.13

 可変抵抗にガリがあると、つまみをいじるたびに輝度がビクンビクンと変化するはずだが、これは表示するか消えるかのどちらか。つまみの軸は割と長いので、壁にぶつけて摺動子の部分が曲がったのだろうか。作業のためCRTを本体から外す。ナット4個で固定されていて、ケーブルは電源トランスから直結している部分があるためCRT内基板の方のコネクタを外す。

 金属のツメ4つを起こして背面のカバーを外してみる。右側に見えるつまみの根本にあるのが摺動子で、これがカーボン抵抗に押し付けられている。
2021-03-31 16.14.37

 これが本体側に塗布されたカーボン抵抗。鏡がハッピーセットのおまけですまん。
2021-03-31 16.18.05

 先程の摺動子を清掃する。接触する箇所を紙やすりで磨き、ピンセットで接触がよくなるよう少し起こす。元通りカバーを付ける。
2021-03-31 16.27.59

 元通りに組み立てる。今度はつまみを動かしても画面は消えない。OK。
2021-03-31 16.57.50



薔薇の名前 特別版 [DVD]
F・マーレイ・エイブラハム
ワーナー・ホーム・ビデオ
2004-09-10











CBM3016(PET2001N)の修理 - メインボード動いた

前回の調査でわかった所に着手。

・VRAM交換
 VRAMはUF7/UF8の1K x4bit SRAM、2114。疑わしいのはUF7。
2021-03-28 15.11.40

 ひっくり返して位置を確認。カプトンテープで囲む。低融点ハンダで溶けている間にSRAMを外す。
2021-03-28 15.17.39

 問題のUF7、MM2114N。これを正常に動いているCBM3032のVRAMと入れ替えて確認。同じような画面の乱れ。これで故障確定。
2021-03-28 15.31.51

 ハンダ吸い取り器で基板側のハンダを除去。ペットボトルのキャップを皿代わりにハンダ吸い取り器に溜まったハンダくずを捨てると作業効率がよい。
2021-03-28 16.10.33

 18ピンのICソケットをはんだ付けし、手持ちの2114を2個挿入。
2021-03-28 16.25.59

 画面表示問題なし。(筐体はまだテストのためCBM3032です)
2021-03-28 16.36.28

・メモリ

CBM3016の設定は8Kbit DRAM使用の16KB。この前半だけを有効にしてテストするためIをカット、Lをショートで8KBに設定。
PET2001N-BANKSEL


これは2バンクあるうちの片方づつテストするため。この設定でもPETTESTERでは"B"ad表示。
次にメモリ前半と後半のバンクを入れ替えてみる。*CASを駆動するLS10のダンピング抵抗R41とR42の所で*CAS0 / *CAS1を入れ替える。

PET2001N-CAS


このように抵抗の端の部分をカットしメッキ線で入れ替えてみたが同様だった。
2021-03-28 17.12.48


さてここまでやってみて、両方のバンクにそれぞれ1つ以上の故障チップがありソケット化して入れ替えなければならないかと考えていたが念のためDRAMに供給されている電源を確認してみた。
8K/16K DRAMは+5Vの他に-5V、+12Vが必要で、+5VはほかのロジックICにも供給されているが-5Vと+12VはDRAMのみに供給されている。確認すると4.83V / -5.15V / 0V で12Vが観測できない。

2021-03-28 17.47.33

+12VはシリーズレギュレータLM7812CKで作られている。その入力であるUNREG+16Vは測定すると18.73V。LM7812CKが動いていないように見える。

 そこで12V1AのスイッチングACアダプタを使用して12Vラインにはんだ付け。しかし動かない。測定するとやはり0V。ACアダプタ自体は事前に12Vが出ることを確認している。
2021-03-28 18.10.54

 そこで思い至ったのがタンタルコンデンサ。タンタルコンデンサはショートモードといって故障時には短絡する。12Vラインにある10μFのC41,C43,C83を外してテスターで確認。C41,C83は約10μFの容量が観測できたがC43はショートしていた。
2021-03-28 18.19.02

 C43は手持ちのものと交換。たしかPC-6001の修繕用にと買っておいたもの。12V-GND間の抵抗を測ると約6.7KΩ。
2021-03-28 19.00.36

 今度は12.11Vが観測できた。OK。そういえばレギュレータが載った放熱板だが手前のLM7812CK近辺だけ触れないくらい熱くなっていたのが直っている。出力が短絡していたせいだ。
PETTESTERも"G"ood表示。BASICも8KBで起動した。先程メモリの確認のためいじった箇所を元に戻す。なにげにオリジナルの状態で動かすことができたのは初。Replacementboardが便利すぎて……
2021-03-28 19.31.27

 オリジナルのCBM3016筐体に戻し、16KBでBASICの起動を確認。
2021-03-28 20.45.45

あとはしばらく負荷をかけて通電してみればよさそう。
結局、故障していたのは2114が1つ、タンタルコンデンサが1つ、ということだった。



記事検索
プロフィール

hardyboy

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