2020年05月19日

RGBコンバータ(15)(DE0版ver32リリース)の追記

  RGBコンバータ(15)(DE0版ver3.2リリース)の追記です。

  今回のリリースは、1280x1024のみです。
  要望があれば 640x480 も作りますが、余り使っていなさそうなので(^^;)


  今回のDE0版は、実はついで(というかデバッグ用)に作ったものです。

  SDRAMを使った画面バッファを作るために、とりあえず簡単にテストが出来る、今のP6用のRGBコンバータが都合がよかったためです。

  回路で使っていない部分があるのはそのためです(PLLの余分なクロック生成とか、内蔵RAMのアドレス数が多いとか...)。


posted by えすび at 23:50| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

RGBコンバータ(15)(DE0版ver32リリース)

  RGBコンバータ(15)(DE0版ver3.2リリース)

  DE0版のRGBコンバータの新しいバージョンをリリースします。
 (怪しいCycloneIIボードと同じ変更です)

  回路(ピンアサインなど)も一部変更しました。詳しくは同梱の回路図を見てください。

DE0_1280x1024_ver32.zip


○変更点(CycloneIIボード→DE0版の変更点)
 ・CycloneIIで使用していた外付けSRAMの代わりに、DE0のボード上のSDRAMを使用


  ボード上のLEDは以下を示しています。

  クロック未検出時   :LED0、LED1、LED2が点滅。
  データ未検出時    :LED1、LED2が点滅。
  データ未同期時    :LED2が点滅。
  SDRAM初期化エラー時  :LED3が点滅
  SDRAMパリティエラー時 :LED4が点滅

  データが同期していなくても、画面は問題なく表示される事が多いので、特に気にしなくても構いません。
 (一部のカートリッジソフトや、動作状況により、この状態になることがあります)


  クロック、データが正常に入力されている場合は、LED0〜4は以下のようになります。

  LED0:にじみ処理時、点灯
  LED1:mk2SR/66SR時、点灯
  LED2:点灯(SDRAM初期化終了)
  LED3:消灯(SDRAM初期化エラー時、点滅)
  LED4:消灯(SDRAMパリティエラー時、点滅)


  簡単に言うと、
 ・LED0〜2の内、3つ点滅している場合は、何らかの原因で14MHz/3.58MHzが入力されていない。
 ・LED0〜2の内、2つ点滅している場合は、何らかの原因でデータが入力されていない。
 ・LED0〜2の内、1つだけ点滅している場合は、画面が正常に表示されていれば特に気にしなくてもいい。

  です。


  RGBコンバータに電源投入直後は、P6の電源を入れない状態だと、LED0〜2が3つ点滅し、画面は青画面になります。

  また普通は、LED3/4が点滅する事はありません。
  もし、LED3/4が点滅する場合は、連絡頂けると助かります(SDRAMとのタイミングがおかしい可能性あり)。



 ・使い方

  ボードに電源を供給して、mk2/66/mk2SR/66SRを起動すると、普通に表示されます。
  mk2SR/66SR使用時は、クロック出力を3.58MHzの方にして下さい(普通はこちらになっています)。

  ボード上のBUTTON2を押すと、にじみが出せます。
  BUTTON2を押す毎に、にじみなし→赤青→青赤→桃緑→緑桃→にじみなし、となります。

  また、ボード上のBUTTON0はリセットスイッチです。
  何らかの問題があった場合、BUTTON0を押すと、解消されるかもしれません。

  ボード上のSW0〜9は、すべてOFFで使用してください。



posted by えすび at 23:37| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2020年05月06日

P6mk2キーボード修理

  mk2のキーボードの修理をしました。

  やり方は前に書いたものと同じです。

http://sbeach.seesaa.net/article/387861428.html

  ただ、今回は接点に導電ゴムを購入してみました。

https://www.amazon.co.jp/%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3-%E3%82%AB%E3%83%BC%E3%83%9C%E3%83%B3%E3%83%94%E3%83%AB-Carbon-%CE%A63%E3%8E%9C%C3%970-5%E3%8E%9C-100%E5%80%8B%E4%BB%A5%E4%B8%8A/dp/B07QZQ6K1H/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=%E5%B0%8E%E9%9B%BB%E3%82%B4%E3%83%A0&qid=1588758530&sr=8-2

  ちょっとお高めです。


200506_02_導電ゴム.jpg

  実際に購入したものが↑です。小さいです。


200506_02_キーボードゴム1.jpg

  P6mk2のキーボードのゴムを取ったものと並べると、丁度いい大きさなのが分かります。



  最初は両面テープで貼るつもりだったのですが、かなり大変なので接着剤で貼り付けました。

200506_02_キーボードゴム2.jpg

  接着剤で貼り付けた後はこんな感じです。特に問題なく動作しました。

  接着剤で貼り付ける時は、導電ゴム側に接着剤を付けようとすると大変です。
  キーボードのゴム側の出っ張りに接着剤を塗って、導電ゴムの上に被せて上から押して貼り付けると、楽に作業できます。


posted by えすび at 19:00| Comment(0) | P6実機:製作・修理・改造など | このブログの読者になる | 更新情報をチェックする

X68000修理の追記

 昨日、書いたマウスの話ですが...


 マウスの回路を組み上げて、いざテストを使用とすると、X68000の電源が入らない...

 結局、ちゃんと直ってなかったようです。


 今は、外部のATX電源で立ち上げています。蓋も閉められません。

 当分はこのままかな...


posted by えすび at 18:37| Comment(0) | P6実機:製作・修理・改造など | このブログの読者になる | 更新情報をチェックする

2020年05月05日

X68000用マウスコンバータ

 X68000の話が続きます。


 昨日書いた、マウスのボール問題ですが、結局P6みたいにマウスコンバータを作る事にしました。
 P6でのマウスコンバータの設計資産をそのまま使ったので、かなり簡単に出来ました(設計からデバッグまで1.5日)。

 既に他の人が作っているのがあるのは知っていますが、わざわざ買うのも...というわけです。

 P6と同様に、PS/2マウス→X68000マウスへの変換です。


200505_01_MOUSEX68.PNG


 ソースとHEXファイルです→MOUSEX68.zip

 AVRも全く同じの ATtiny2313 で設計しています。ATtiny2313A でも同じHEXファイルで動作します。

 P6のものと同じように、真ん中ボタンを押すとマウス移動速度が遅くなります(x1、x1/2、x1/4、x1、…)。

 またPS/2のマウスによっては動作しないものがあるので注意して下さい。

 X68000に接続する時は、PS/2マウスをコンバータに接続してから、X68000に接続して下さい。


 X68000のマウスは、いわゆるシリアルマウスです。仕様を調べた結果、以下の通りのようです。

 ・転送速度:4800bps(1ビット当たり208us)
 ・スタート1ビット、ストップ2ビット
 ・データ8ビット、パリティなし

 ・X68000→マウス:出力要求信号(MSCTRL)
 ・マウス→X68000:データ出力(MSDATA)

 ・MSCTRLが、"H"の間は、MSDATA は Hi-Z
 ・MSCTRLが、"H"→"L"になって、400us程度経ってからデータを出力する(LSB先送り)。
 ・データ出力は3バイト。
  1バイト目:bit0:左ボタンの状態(押下中"H")
  1バイト目:bit1:右ボタンの状態(押下中"H")
  1バイト目:bit2-7:"L"
  2バイト目:bit0-7:左右移動量(符号付:右移動時が正)
  3バイト目:bit0-7:上下移動量(符号付:下移動時が正)


  製作で一番問題なのは、X68000に挿し込むための、mini DIN5ピンのプラグが入手困難なことです。
  私自身はたまたま持っていたんですが、もったいないので(^^;) miniDIN6ピンを加工してmini DIN5ピンにしました。
  miniDIN6ピンは、PS/2マウスで使われているプラグなので、入手性はいいと思います。

200505_01_miniDIN_1.jpg

  ↑見づらいですが、プラグの種類によっては、真ん中の棒の太さが若干ちがいます。細いほうが加工がしやすいです。


200505_01_miniDIN_2.jpg

  ↑これまた見づらいですが、矢印で指している部分を加工します。
  右下のピンを一つ根元から切り、真ん中の棒の上半分くらいを切断します。

  そのままでは加工ができないので、外側のプラスティックの部分から出す必要があります。

  また、miniDIN6ピンの新品のプラグが入手できれば、それから加工するのがテだと思います。
  共立電子→https://eleshop.jp/shop/g/g61F14A/


  完成したものも載せておきます。

200505_01_X68000用マウスコンバータ_2.jpg

200505_01_X68000用マウスコンバータ_1.jpg


posted by えすび at 22:49| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2020年05月04日

X68000修理(5)

  X68000修理の続き


10)電源ユニット
 本体がちゃんと動作したので、後回しにしていた電源ユニットを修理します(本体が直らなかったらそのまま放置予定だったので)。

 電源ユニットの修理に関しては、ネットに情報がかなりあります。
 うちのX68000は、幸いかなり長い間、電源を入れていなかったので、被害は電解コンデンサの液漏れだけで済みました。

 一次側の電解コンデンサを除いて、すべての電解コンデンサを交換しました。ついでに基板の掃除も。
 通電すると問題なくファンが回り、電源が供給されました。

 X68000に組み込んで見ると、ちゃんと動作しますが...正面の電源ボタンを押して、電源を切にしても、電源が落ちない...

 電源ユニットを外して、単体で検査(ACEの場合、黄色の線(PC)をGNDに接続すると、電源が切れる)してもファンが止まりません。

 結局、抵抗1つと、主電源ON/OFFに関わっていそうな、Q33(2SC1815)と、PC31(フォトカプラTLP785)を交換して、やっと正常に戻りました。


 ここにたどり着くまで二ヵ月程度...長かった。


11)カレンダー
 そういえば、バックアップを電池に変更した結果を確認してなかった、と思って日付を確認すると...あれ?以前に入れた日時のまま、変わっていない?

 よく見てみると、時計が進まない状態になっていました...

 日時は前に入力したものになっているので、電源が供給されていないんじゃなくて、時計LSIの水晶発振子が壊れた?

 回路としては、よくある水晶発振子に、コンデンサ2個(内1つはトリマコンデンサ)が付いているだけの回路です。
 テスタで断線がないかを調べても問題なしでした。

 壊れそうなのは、機械的が部分がある、トリマコンデンサ(可変コンデンサ)だよなぁ。

 そう思って、トリマコンデンサを外して、代わりに33pFのコンデンサを付けると、普通に時計が動き出しました。


 トリマコンデンサって故障するのか?と、念のために容量を測ると、ちゃんと動作しているし、回すとちゃんと容量も変化する。

 代わりに付けた33pFを外して、トリマコンデンサを戻すと...普通に時計が動いている。


 ??勝手に直った、のかな??


 この後、時計は問題なく動作しているようです。


 ただ、トリマコンデンサを動かしちゃったため、時計が正確かどうか不明です。

 発振周波数を測定できればいいんですが、出来なさそうなので、原始的な方法で調整しています。


200504_01_トリマコンデンサ.jpg

 写真の赤丸が、時計調整用のトリマコンデンサです。

 1日に1回程度、信頼できる時計と比較して、
 ・どれくらい時刻がずれたか
 ・トリマコンデンサはどちらにどれくらい回したか

 を書き留めていき、ずれが少なくなるようにしていきます。地道な作業ですが...



 X68000の修理の話は、今回でやっと終わりです。

 ただ、書いていない問題が残っていて、

 ・マウスのボール問題
  ボールの表面の摩擦がなくなって、非常に使いづらい問題。
  以前、BEEPで売っていたようですが、これでもダメなようで。

 ・ディスプレイ問題
  15Kが映せるモニタがない、31Kでも下が切れているなど。
  XPC-4 を買えばいいんでしょうけど、高い。


  ディスプレイは、他の古いパソコンの事もあるので、何とかしたいところデス。

posted by えすび at 20:11| Comment(0) | P6実機:製作・修理・改造など | このブログの読者になる | 更新情報をチェックする

2020年05月03日

X68000修理(4)

  X68000修理の続き


9)ディスクドライブ
 ディスクドライブもかなり汚れていたので、分解して掃除しました。

 その時、外してはいけないネジを外してしまいました。


200503_01_ディスクドライブ1.jpg

 基本的にネジを固定材で固定しているものは、動かしてはいけません。

 上の写真では、赤丸の部分のネジは外さない方がいいです。
 このネジを外さなくても、下の金属板は何とか外せます。

 上写真の赤丸は、フロッピーのインデックスホール検出用のセンサーです。また左上の緑丸はフロッピーが挿入されたかどうかを検出するセンサーです。

 もし外してしまった場合は、以下のように調整できます。

 (1)ディスクドライブ単体にする
 (2)ディスクドライブに電源を供給する
 (3)このセンサーから出ている線の両端の電圧をテスターで測る

 緑丸の方は外さないと思いますが、ディスクを抜き差しして電圧がどのように変わるかがテストできます。
 電圧がある程度高くなる部分でネジを固定すればOKです。ただ、赤丸の方は、点滅しているようで、0Vとある電圧を行き来します。

 その下の青丸のマイクロスイッチは、場合によっては調整が必要です(うちのは必要でした)。
 接触しているバーが一番左に行ったらON、左から動いたらOFFになる位置でスイッチを固定します。


200503_01_ディスクドライブ2.jpg

 テストの際、手動でヘッドが降りるようにするには、上写真の赤丸の金具を動かします。

 ディスク挿入時、ディスクに押されて、写真の上に動き、その左の鉄板が動けるようになります。
 その後、モータの力でフロッピーのセンターリングが押さえつけられます。

 イジェクト時は、この赤丸の金具の下側の爪が引っ掛かって、元の位置に戻ります。


 ドライブの掃除が終わって確認をしました。

 ドライブ0の方は問題なかったのですが、ドライブ1の読み込みが何か調子が悪い...
 ドライブ0と1を入れ替えて、起動するかを確認したのですが、

 「Human.sys が見つかりません」や「Human.sys のアドレスが異常です」の表示が。


 ヘッドの掃除をしても変わらず。もしかしてと思ってヘッドのバネ圧を無理やり変えてみました。
 結果は両方のドライブとも問題なく動作するようになりました。

 プロテクトが掛かっていると思われるゲームのマスターディスクでも問題なく読めています。


 ヘッドのバネ圧の変え方

 !!!注意!!!
 最悪、ディスクが傷ついたり、ディスクが読めなくなる可能性があります。
 自己責任でお願いします。


200503_01_ディスクドライブ3.jpg

 上写真は、ディスクドライブのヘッドです。

 緑丸がヘッドを押さえつけているバネで、この押さえつけている力が弱くなると、読み込みエラーが出たり、全く読めなかったりします。逆に強すぎても読めなかったり、ディスクを傷つけたりします。

 このバネを外して、バネの端をちょっとだけ曲げます。

 その後、元の部分に取り付けて、ディスクが読めるかを確認します。

 !!!注意!!!
 この際、傷つけても構わないディスクを入れてみて、ディスク面に傷が付かない事を確認してください。


 さらに、このディスクドライブは、バネ圧の微調整が出来るようです。

 写真の赤丸の部分にバネを掛けていますが、ここの高さが3つあって、どこを使うかでバネ圧の強弱が調整できます。



 HDDや他の部分は問題がなかったので、電源がATXのものですが一通り修理が完了しました。
 確認ができるソフトなどを動作させても特に問題はなく、安定して動作しています。


 (5)に続きます。

posted by えすび at 20:23| Comment(0) | P6実機:製作・修理・改造など | このブログの読者になる | 更新情報をチェックする

2020年05月02日

X68000修理(3)

  X68000修理の続き


6)画面に表示された
 CPUが動いてから、POWERのLEDが緑の点滅をするようになりました。
 点滅の間隔は2種類あるようですが、なぜ点滅するかは不明のまま。

 X68000を使っている人ならば、ここでピンとくるのですが、何せ初心者なもので...

 CPUをロジアナで観測してもよくわからないし...どうしようかと思って適当にいろいろ触っていました。
 LEDの点滅が関係があるのかと、RESETやINTERRUPTボタンを押したりしていると...

 RESETを押した状態で画面に、「エラーが発生しました。リセットを押して下さい」の表示が(!)

 やっと画面が出たよー。とりあえず画面周りは壊れてなかったよー。

 でも、RESETを離すと、画面は真っ暗に。うーん。


7)正常動作した
 何度か繰り返しても上記の状態のままでしたが、ある日ちょっとだけ手順を変えると、

 普通に「エラーが発生しました。リセットを押して下さい」の表示が(!!)

 原因が判明すると納得の状態でした。


 今まで動作しなかったのは、

 メイン基板+拡張コネクタ+サブ基板+CRT表示基板+ATX電源

 で、ATX電源側で電源のON/OFFをしていましたが、その際、サブ基板の電源(赤いヤツ)はOFFにしていました。


 今回、サブ基板の電源をONにした状態で、ATX電源側で電源をONにすると、正常動作をしました。


 動作としては両方とも正解で、

 サブ基板OFFで、ATX電源ON → X68000の電源OFFのシーケンス
 サブ基板ONで、ATX電源ON → X68000の電源ONのシーケンス

 になるためです。

 だから、サブ基板OFFの時はLEDが緑点滅していたんですね。
 
 こんな事なら、X68000からATX電源のON/OFFが制御できる回路を作ればよかった...とは後からわかる事ですね。


8)バックアップ電池
 FDDドライブなどを戻せば問題なく起動するはずですが、それより前にサブ基板の方のバックアップ電池を何とかします。

 P6SRでは、充電電池をスーパーキャパシタに置き換えました。
 X68000でも同じ処理をしようとしたのですが、後期の機種は充電電池ではなくて、ボタン電池を実装しているようです。

 スーパーキャパシタでは、そんなに持たないので、ボタン電池にする事を検討します。

 例によって、Outside X68000 の回路図を参考にします。
 初代機とXVIのバックアップ回路の部分を書き出すと...


200502_01_初代バックアップ回路.PNG
 初代機バックアップ回路


200502_01_XVIバックアップ回路.PNG
 XVIバックアップ回路

 ACEでも同じような回路になっているはずなので、実機で確認すると、以下のようでした。


200502_01_ACEバックアップ回路.PNG
 ACEバックアップ回路

 これを見る限り、初代機の2SA1015YのエミッタがVCC2に接続されているのは、VCC1の間違いのようですね。
 結局、下図の赤丸の部分にダイオードを挿入すればいいようです。


200502_01_ACEバックアップ回路改.PNG
 ACEバックアップ回路(修正箇所)

 ダイオードは手持ちの適当なものを使いました。そんなに電流が流れるわけでないので、普通のスイッチング用のもので構わないと思います。

 基板上では、以下のようにしました。



200502_01_サブ基板2.jpg
 ACEバックアップ回路(修正前)



200502_01_サブ基板3.jpg
 ACEバックアップ回路(修正後)


 (4)に続きます。

posted by えすび at 17:11| Comment(0) | P6実機:製作・修理・改造など | このブログの読者になる | 更新情報をチェックする

2020年05月01日

X68000修理(2)

  X68000修理の続き


4)画面表示周り
 悪い箇所を特定するために、メイン基板、サブ基板、CRT表示基板とATX電源のみにして、本体内部に入れずに繋ぎました。
 メイン基板を段ボール箱の上に置いて、その横に立て掛けるようにサブ基板を置くとうまく接続できました。

 サブ基板の断線個所をさらに見つけていると、画面が真っ暗から縞模様に。

 縞模様の原因をネットで調べても出てきませんでした。ただ、ネットを見ていると気になる情報が。

 それは、X68000の画面モードは特殊だという事です(私はX68初心者です)。

 もしかしてと思って、モニタを調べていると、どうも縞模様はモニタの特性だったようです。
 同期が取れていない状態だったようで、何か変なものが縞模様に映っていたみたいでした。


 モニタを変更すると、正常な(?)真っ暗に戻りました...

 昔は、X68000専用のモニタを持っていたので、特殊だと全然気付かなかったんですねぇ。
 テレビを廃棄するのが有料になるというので、その時にTOWNS用モニタと一緒に捨てちゃいました。


 ロジアナを使って、水平同期、垂直同期信号をモニタしても問題なし。
 Outside X68000 の回路図を参考に、画像を出力しているD/Aコンバータのデジタル入力をサンプリングしてもベタ"L"。

 ということは、CPUがVRAMに対して全然書き込んでいないという事になります。


5)CPU周り
 CPUがどんな動作をしているか、とりあえずロジアナで観察しました。68000は、全然使った事がないので分からないかと思ったんですが...

 アドレス線が全く動いていませんでした。原因は、BR(バスリクエスト)がベタ"L"になっている事でした。

 バスリクエストを出力しているのはカスタムLSI(システムコントローラMESSIAH)で、しかもOutside X68000 の回路図には載っていないLSIです(Outside X68000 には、初代機とXVIしか回路図がない)。

 初代機とXVIの回路図からいろいろ類推した結果、MESSIAH ではいろんな部分のバスリクエストをまとめて、CPUに出力しているようでした。

 そこで MESSIAHに入力されている、バスリクエストっぽい信号を調べていると、ベタ"L"になっている信号がありました。
 それは拡張コネクタから来るバスリクエストでした。

 回路図ではプルアップされているはずですが...あー。


200501_01_メイン基板拡張コネクタ.jpg

 拡張コネクタ側の基板にプルアップ抵抗が実装されていました...


200501_01_メイン基板.jpg

 ↑こんな感じでメイン基板に拡張コネクタの基板を挿すと、CPUがちゃんと動作しているのが確認できました。

 普通、抵抗とコネクタだけの基板を外しても、メイン基板が動作しなくなるなんて考えませんよねぇ(そんな事ない?)


 でもまだ画面は真っ暗のままデス...

 (3)に続きます。

posted by えすび at 15:52| Comment(0) | P6実機:製作・修理・改造など | このブログの読者になる | 更新情報をチェックする