まごころせいじつ堂

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

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つ、ということだった。



CBM3016(PET2001N) DRAM調査

 PET2001Nは回路図にはDYNAMIC PETと書いてあってDRAMを使用してメモリ空間を32KB使用できる。

 CBM3016では8Kx1bitのDRAMを8個、これを2バンク分で16個。奥がUI2~UI9で*CAS0に、手前がUJ2~UJ9で*CAS1に接続されている。CBM3032ではこれが16Kx1bitのDRAMになる。
8K品と16K品のDRAMの混在はできない。
2021-03-24 22.50.07

 DRAMにアドレスを与える部分。RAM TYPEに8K-1/8K-0とあるのは何か?
PET2001N-RAMTYPE


この部分はリフレッシュアドレスと通常アクセスのアドレスを二分割で与えているので表にしてみた。
PET2001-DRAMADDR

 DRAMのA0の扱いが異なる。16Kx1 DRAMはバスアドレス13、8Kx1 DRAMは0または1。リフレッシュアドレスは同じだが、8Kx1品でも桁数が多い分には構わない。
 8Kx1 DRAMのデータシートを調べると、A0に"L"を与えるものと"H"を与えるものがサフィックスによって区別されている。CBM3016に搭載されているMK4115-41のサフィックスはスピードグレードのような特性表示ではなかった。
 ピンはコンパチだがMN5298についてはA0ではなくA5が"L"または"H"の設定。これではそのままMK4115-41と差し替えて使うことはできない。
 1992年のメモリIC規格表を見ると、8Kx1 DRAMはIntel,Motorola,NS,TIしか作っていない。これが次世代の16x1 DRAMになると多数のメーカーが製造している。




PCG6500内部調査

 驚く無かれ、HAL研究所のPET2001用PCG6500ですよ。

2021-03-25 22.03.10

 これは64~127に位置するキャラクタを任意の8x8ドットに置き換えて表示するものでゲームで重宝された。ポートCB2からの出力をアンプで増幅して内蔵スピーカーで音を出すことができる。

 表示キャラクタの入れ替えはPET2001本体のCGROMを外し、PCG6500からのフラットケーブルを本体に接続、外したCGROMはPCG6500内のソケットに装着する。

 ピン曲がりがあったので修正し、保護のため丸ピンICソケットを付けた。PCG6500の電源もここからもらっている。
2021-03-25 17.55.30

2021-03-25 20.54.30

 キャラクタの書き込み、サウンド出力はUserport経由で行う。これは一部が断線している。
2021-03-25 21.59.50


C:PA0 - CN2-10
D:PA1 - CN2-9
E:PA2 - CN2-8
F:PA3 - CN2-7
H:PA4 - CN2-6
J:PA5 - CN2-5
K:PA6 - CN2-4
L:PA7 - CN2-3
M:CB2 - CN2-1

なんとGND接続がない。

  本体基板。引き出してあるビニール線は改造の跡。
2021-03-25 18.41.07

 ICの型番が読みやすいよう反対から。
2021-03-25 18.42.01

主要部品はD2101AL-4 x4(256x4 SRAM) → 512バイト64キャラクタ分、
M53357P(SN74157) x4
74LS75 x3 12bit分のD-FF
LS42 書き込み時のコマンドPA7:5デコード
LS123 書き込みパルス生成
LS04,LS00
サウンド部分はLM386によるアンプ

 PCG6500のマニュアルより。書き込みのためのソースコードあり。

 おそらくDATA5-8はADR5-8の誤記。このタイミングでPCG6500内蔵のRAMにデータを書き込む。

PA7:5=110 / PA3:0 データ上位4bit
PA7:5 =100 / PA3:0 データ下位4bit
PA7:5 = 010 / PA3:0 アドレス8:5
PA7:5 = 001 / PA4:0 アドレス4:0
スクリーンショット 2021-03-25 22.09.16

 さてこのPCG6500は改造の跡があった。IC8:LS00のpin13(入力)とIC7(PET本体からのCGROM)のpin3(A5)間がカットされ、IC8:LS00 pin13入力は3PトグルスイッチでA5/GNDが切り替えられるようになっていた。
2021-03-25 21.21.14

 さらにUserport PA7,PA6からLS123にいく線もカットされている。これはデータを書き込むコマンドのはず。
2021-03-25 22.00.41

 裏面をみるとかなり改造されていた。
2021-03-25 21.57.52

 拡大。
2021-03-25 21.58.09

 ユーザーによる改造だろうか?当時の雑誌記事?どのような意図で改造されているのかよくわからないのでいったんここまで。


CBM3016(PET2001N)の修理 - メインボードの故障箇所

前回のつづき。

電源を投入すると、CRTが温まっていれば一瞬ランダムパターンが表示されて消える。
CRT自体も輝度調整のVRが接触不良だがちょっと後回しで、動いているPET2001Nの筐体にメインボードを接続して調査。

調査結果:
(1) CPU単体は正常
(2) VRAMは片側が故障
(3) ROMは正常
(4) RAMは故障
2021-03-21 11.49.54

 ROM/RAM replacement boardを使ってメインボード上のROM/RAMをバイパスし動作確認。

2021-03-23 21.57.10

 BASICは起動するがVRAMが化けている。文字を入力すると離れた所に化けた文字が出てくる。毎回同じ表示なのでなんらかの法則性がある。
 文字入力で64キャラクタ離れた所に化けた文字が表示される。画面の位置によっては64文字先だったり64文字前だったり。これはVRAMのアドレスSA6がおかしそう。
 文字化けのパターンをさぐる。0~9で0、AAAと入力すれば@@@、P入力でP。PETSCIIコードで確認すると上位4bitが化けている。下位bitが書き換えられていないか確認する。64文字先をX(0101_1000)で埋めた後、A(0100_0001)を書き込むとH(0100_1000)が表示される。これで上位4bitだけ書き換わっていることがわかった。

 この UF7 2114 が故障している可能性がある。UF8 2114にも同じアドレスが与えられ同じタイミングで書き込まれているがUF7のみSA6を0/1両方の状態で受け取って複数の箇所に書き込まれている。
 ただ直付けされているので外してソケット化しなければならない。私のPET2001N(CBM3032)はソケットだった。
2021-03-23 22.42.16

 さてROM/RAM replacement boardでメインボード上のROMやRAMを有効にしながら動作確認。まずROMはOKだった。
2021-03-24 22.32.48

 RAMは有効にするとBASICは起動しない。前半16KBをROM/RAM replacement boardに、後半16KBをメインボード(メインボード上は空)にするとRAM 16KBで起動する。
2021-03-24 22.34.09

 メインボード上のRAMを有効にしてPETTESTERを動作させると"B"表示、異常がある。

 このCBM3016は8Kx1bitのDRAM(MK4115P-4)が16個で直付け。CBM3032は16Kx1bit DRAM(4116)が16個。
2021-03-24 22.50.07

 もし下位8KバイトのみにしたければジャンパーのIをカットしLを接続すればよいが、下位8Kバイトに対応する8個のDRAMが生きていることが前提。
 ソケット化して入れ替えてもMK4115P-4が入手困難なので元通りにするのは難しいので、入手しやすい16Kx1 DRAMに交換すれば同等になる。ジャンパーは変更が必要。

CBM3032  8KRAMx16 xxCxxF HIJxxxxPxS / BA15 32K
CBM3016 16KRAMx16 AxxxEx xIJxxMxPxS / BA15,BA14 16K

A,C,B RAMTYPE 8K-1 16K-1 8K-0
E,F ROW SELECT 8K/16K
H,I,J,L,M RAMデコード
N,P I/Oセレクト BAS14/*SEL8
R,S I/Oセレクト *SEL8 *SELE

メモ:4116、I2~I9(奥)は*CAS0、J2~J9(手前)は*CAS1




CBM3016(PET2001N)の修理 - キーボード

 CBM3016のキーボード修理。今回は電気の話はありません。

2021-03-22 17.18.54

 キーの動きが渋く、一部は押されたままでなかなか戻ってこない。本体から外してまず清掃。キーの中央はシリンダーみたいになっておりその外周にバネがついているのでここにホコリが絡むと動きが渋くなる。エアダスターでホコリを飛ばす。これだけで引っかかりはなくなり打鍵感はよくなった。

 リファレンスとなる動いているPET2001Nにこのキーボードを接続し動作確認。アルファベット部分は問題なく入力できるが一部のキーが押しても文字が入力されない、または時々しか入力されない状態。特定のラインだけ効かなくなるわけではないのでキーそれぞれが個別に接触不良と思われる。

2021-03-22 17.46.23

 キーボードを裏返して止めてあるマイナスネジを外す。基板部分とキー底面にある導電性の物質が接触してスイッチがONになる仕組みなので、基板部分を古い歯ブラシを使って清掃。
 基板をひっくり返していないのはSHIFT LOCKスイッチのみオルタネートキー(ON/OFFの状態を持つ)でこれだけ個別の部品なので基板の端子部分に穴を開けて配線を出してあるため。作業性を考えるといったん配線を切断してからあとではんだ付けし直したほうがよい。

2021-03-22 18.21.44

 これだけでもだいぶ改善したのだがまだ接触が悪そうなキーがある。
 各キーのシリンダーの中央にはラバードームに導電性の物質を付けたものが挿入してある。メンブレンキーボードのような仕組みだが一枚シートにはなっていない。そこでよく利いているキーのラバードームと接触が悪いキーのものと入れ替える。基板と導電性の物質が当たるポイントが変わってくるので改善する可能性がある。思い通りうまくいった。

2021-03-22 18.35.06


 特に反応が悪かったのは右上にある大括弧[ ] で、これらはBASICでも使わない記号なので押される頻度が少なく、端子が酸化しやすかったのだろう。

2021-03-22 18.18.00

 元通りに戻しても引っかかりはなく問題なし。もしキーが引っかかるようだったらまっすぐに引き抜いてシリンダー状の側面部分に溶剤不使用のシリコンスプレーを綿棒で塗布するつもりだった。
 接触不良だからといっていきなり接点復活剤やスプレー類を直接かけるとホコリが固着してますますきかなくなる可能性があるのでまずエアダスターや綿棒などで清掃を!

追記:The 8-bit Guyでは更に深刻な故障のキーボード修理をしている





MZ-80C基板の電解コンデンサ交換

ぼちぼち水没基板の修理。電解コンデンサはどうもやばかろうと思うので交換することにした。

まず基板上の電解コンデンサ・タンタルコンデンサを調査。

C5,C23  1uF16V電解
C14  10uF16V電解
C18  220uF16V電解
C19,C21  22uF16V電解
C26,C32  100uF16V電解
C36,C37,C38  100uF25V電解
C39  33uF10Vタンタル
C41  10uF35Vタンタル

ついでにVRも交換することにする。
VR  68Kohm

方針:現在の電解コンデンサは昔のものより小型なので同容量で電圧は高くても良い、小容量(1uF)は積層セラミックで代替する。


(1)IC18(8253)近辺 IC13はタイマIC555でカーソルキーのブリンク制御を行っている。
2021-03-18 22.41.26

C5 1uF16V電解→1uF50V積層セラミックに交換。
VR 68Kohm→50Kohm、IC18にICソケット実装。
2021-03-18 23.22.48


(2) IC5(8255)近辺
2021-03-18 22.40.47

C14 10uF16V電解→10uF16V電解
C18 220uF16V電解→220uF35V電解
C19 22uF16V電解→22uF50V電解
C21 22uF16V電解→22uF50V電解
C23 1uF16V電解→1uF50V積層セラミック
2021-03-19 00.19.44

C18 220uF16V電解を外して裏返したところ。割れかかっている。
2021-03-18 23.24.26


(3)電源コネクタ近辺
2021-03-18 22.41.38

C36 100uF25V電解→100uF35V電解
C37 100uF25V電解→100uF35V電解
C38 100uF25V電解→(なし) -5V系を使わない予定のため
2021-03-19 00.54.21


(4)DRAM近辺
2021-03-18 22.41.51

C26 100uF16V電解→100uF35V電解
C32 100uF16V電解→100uF35V電解
C39 10uF35Vタンタル→(なし) -5V系を使わない予定のため
C41 33uF10Vタンタル→33uF25V電解 DRAMなしにする予定なので単なる平滑用
2021-03-19 00.18.45

 まだ泥が残っているので部品を外してはアルコールを付けた綿棒で拭いている。まだ先は長い。

 外した部品。ハンダ吸い取り器から出てくるハンダくずは作業中小さいビニール袋に入れている。
2021-03-19 00.20.34

 今回の作業ではエンジニアのハンダ吸い取り器SS-02を使用した。樹脂製のものにくらべて短いので片手で操作でき作業性がよい。

YIS-303/CX5用ビデオ接続アダプタその2

 以前つくったYIS-303用のビデオ接続アダプタ、MIDIケーブルを流用するのだが全結線していないケーブルも存在するのでもうちょっと簡単にならんかと検討。

 DIN5ピンのケーブルはコンポーネントステレオでカセットデッキをアンプと繋ぐときに使われたりしていた。RCAピンプラグだと録音用と再生用の2組が必要だったのが一本で済む。これを調べる。

DIN connector(Wikipedia)

amazonでDIN→RCAピンジャックに変換するケーブルがあったので入手して調べてみた。


このような結線だった。
DIN5P

YISでは1番ピンが+5Vなのでこれを流用するのは無理。

ではDIN5Pのプラグとミニジャックを組み合わせ、3.5mmミニプラグ→RCA変換ケーブルで接続することに。

 ピンプラグの先端が白(L)、真ん中が赤(R)、根本がGNDとなっている。
2021-03-14 16.29.26

部品は秋月電子で入手。

ぎゃんして
2021-03-14 16.36.21

ぎゃんして
2021-03-14 17.03.02

こぎゃんする
2021-03-14 17.07.13


 おしまい

記事検索
プロフィール

hardyboy

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