エントリー

ユーザー「gshoes」の検索結果は以下のとおりです。

PC-6031にフロッピーディスクエミュレータを繋いで2ドライブに

 PC-6001の整備を進める中で,いろいろ課題が見えてきました。

 まず,すべてのカセットテープのプログラムをテープイメージに出来ていなかったことです。20年ほど前に試みた時には上手くいかずあきらめたものもありますし,自作のしょーもないプログラムはイメージにしてエミュレータで遊ぶことも全然考えていませんでした。

 次にフロッピーですが,せっかくPC-6031を持っているのに,5インチ2D(もしくは1D)のデイスクが不足していて,活用し切れていません。5インチ2Dは2HDで代用できないのですが,みんな困っているようで中古の価格が高騰しています。

 私も手持ちが30枚ほどあるだけで,そのほとんど使ってしまいました。AppleIIでも使いますので,話は結構深刻です。

 そこで,簡単な対策として,ディスクを裏返して使うことを考えました。

 要するに,PC-6001やAppleIIのような片面しか使わないマシンでは,両面の2Dのディスクがもったいないので,裏返して両面使いましょうという話です。

 実はこの話,AppleIIでは割に当たり前に使われていた作戦です。AppleIIの時代はディスクの値段がとにかく高価でしたからね,日本に限らずアメリカでも裏返すことは普通に行われていたようです。

 それも,アマチュアがやると言うのではなく,例えば市販のゲームにディスクを両面使うものがあったりしましたし,もっというとApple純正の付属のディスクにも両面を使ったものがあったほどです。

 ただこれはAppleIIだからこそ手軽に出来た技でもあります。AppleIIのディスクはかなり特殊で,後にAppleGCRと呼ばれるフォーマットです。難しい話は置いておきますが,一般的に用いられるインデックスホールを使って0セクタを検出する方法ではないのです。

 インデックスホールというのはディスクにあいた穴で,ここを使ってディスクが1周したことを検知します。左右対称の位置にないので,裏返すと位置がずれてしまいますので,普通は裏返しても認識すらされません。

 ですが,AppleIIはこれを使いません。だから裏返して使えるわけですね。

 とはいえ,私はこれについては少々不安を持っています。

 両面のドライブはディスクを挟むように,裏と表の2つにヘッドを持っていて,両面を裏返すことなく読み書き出来るようになっているのはご存じの通りです。しかし,両面のヘッドが全く同じ位置にあると,書き込み時に磁力が反対面の磁性体に届いてしまい,磁力が弱くなってしまったり,書き換わったりします。

 これを避けるため,裏と表のヘッドの位置は少しずらして取り付けられています。つまり裏と表で,同じトラックの半径が少し違うという事ですね。そのズレ量はちゃんと決まっているのでドライブが変わっても互換性が維持されているわけですが,もともと片面のドライブに,ディスクを裏返して両面を使うようにすると,裏と表で待った置く同じ位置に書き込まれてしまいます。

 これって本当はマズいんじゃないのかというのが私の考えで,これまでそういう理由で裏返すことをやってきませんでした。とはいえ,いよいよ背に腹は代えられなくなってしまい,裏返しに手を出したということです。

 AppleIIではただ裏返すだけなのですが,インデックスホールを使うPC-6031など多くのパソコンでは,インデックスホールを検出する穴をジャケットに開けてあげる必要があります。

 ジャケットを開き,ディスクを取りだし,裏返したときにインデックスホールの検出を行う穴をパンチで開けるというのが手順なのですが,これだとディスクを戻した後ジャケットを閉じねばなりません。しかしこれがなかなか難しいのです。

 そこで私は,小型の1穴のパンチをセンターホールからすーっと滑り込ませて,穴を開けてみました。最初はディスクに傷を付けたりと散々でしたが,慣れてしまえばなんてことはなく,綺麗に処理できるようになりました。

 実際にPC-603?え使って見ると,ほとんどの場合両面で使えるわけですが,なかには裏面で使うとエラーになる物も出てきます。もともと裏面にエラーが出るようなディスクだったのか,あるいはトラックの干渉なのかはわかりませんが,使えないものは仕方がありません。

 それでもこの方法だと,いい気にディスクの仕様枚数を半減できるので,私の手元にはブランクの2Dディスクが何枚も残りました,これはうれしい。

 しかし,この方法もいずれは使えなくなります。どうするか?

 答えは,フロッピーディスクエミュレータを使うこと,です。

 なんのことはない,フロッピーディスクのインターフェースに接続するUSBメモリの駆動装置で,一種の変換器のようなものです。USBに刺さったストレージにイメージファイルを置いておけば,ホストはフロッピーをアクセスしているつもりで,実はイメージにアクセスしているという寸法です。

 これを使えば,小さなSDカードに何百枚のディスクを収納できる上,いくらでも新しいディスクを追加できます。不安定でいつ壊れるかわからないフロッピーのバックアップを補完することも出来ますし,いいことずくめです。

 これ,織物などの機会でパターンのデータを読み込むメディアとして未だにフロッピーディスクが使われていることへの対策が需要として根強くあるそうなのですが,我々のようなレトロPCマニアにとってもありがたい存在です。

 しかし,これまではHxCというメーカーの高価なものしかなく,なかなか厳しいものがありました。これが近年,中国製の安価なものが用意出回り,しかもこれに書き込んで使える高機能なファームウェアがフリーで提供されているおかげで,一気に身近になりました。

 GOTEKという会社のもので,もともとは1.44MBと720KBしか対応しないのですが,FlashFloppuというファームウェアを書き込むと,1Dから2HDまで,様々なフォーマットに対応したエミュレータに変身します。

 しかも標準の?セグLEDから128x32ドットのOLEDへの置き換えやロータリーエンコーダへの対応など,高機能にも程があります。

 私はこのGOTEKの製品を2500円ほどで入手しました。これを書き換え,400円ほどのOLEDに交換,手持ちのロータリーエンコーダも取り付けてみました。

 電源はPC-6031から取るとして,問題は接続ケーブルです。以前は売るほど持っていたこの手のフラットケーブルですが,何度かの引っ越しによって処分されてしまい,34ピンのフラットケーブルなどもう1本も残っていません。

 悔しいですが,新たに買いましょう。これも400円ほどで購入,ただしAT互換機用なので途中で信号線が入れ替わっていますから,これをストレートに戻してやります。

 動作試験を行うとあっけないくらい簡単に動きました。

 しかし,ここで新たな問題が・・・

 PC-6031は,ドライブ1とドライブ2を入れ替える事が簡単にはできないのです。通常フロッピーディスクドライブはデイジーチェーン接続ですので,ドライブセレクトを入れ換えれば済みます。しかしPC-6031はコントローラ基板から直接ドライブ1と2に繋ぐケーブルが出ており,入れ替えはなかなか面倒なのです。

 それに貴重なPC-6031に穴を開けるのも嫌なのでなんとかこのまま使いたいのですが,更に悪いことに標準のディスクコピーツールはドライブ1からドライブ2に一方通行で,USBへのコピーは出来ても,元のフロッピーに書き戻す事が出来ません。

 それ以前の話として,標準のフォーマットツールでは,ドライブ2のディスクをフォーマットすることも出来ないのです。

 かといってドライブ2から起動することも出来ないので,これって意味があるのか,と言う状態に陥り,ちょっと考え込んでしまいました。

 確かにUSBからの起動はなかなかハードルが高そうです。しかし,この問題はもともと,フロッピーディスクに不足に対応するための作戦だったはずです。さらにいうとディスクイメージのやりとりで,実機とエミュレータの間でファイルの交換を出来るようにすることもメリットがあります。

 そこで,常時の運用はフロッピーディスクとし,そのバックアップやエミュレータとのファイル交換にUSBを経由することにしました。

 それでも,USBからフロッピーに書き戻す必要があります。そこで標準のバックアップツールを解析です。一部マシン語で書かれていますが,逆アセンブルで読んだ限り,これはインテリジェントドライブに対する送受信を行うものでした。

 対象となるドライブの指定は,ドライブへのコマンド(1バイト)に続けて1バイトで指定するものなので,ここを見ていくとワークエリアにドライブ番号をPOKEしている箇所が見つかりました。

 ということで,誰が必要かはわかりませんが,NEC純正のバックアップツール「backup.2」を,ドライブ2からドライブ1にコピーするようにする修正箇所を以下に紹介しておきます。

(1)160行目のPOKE PA+2,0を,1とする
(2)240行目のPOKE PA+2,1を,0とする
(3)120行目のDSKI$(1,18,14)を,(2,18,14)とする
(4)あとはメッセージを適当に書き換える

 最初はこの改造をPC-6001VW4で試していたのですが,どうも上手く動きません。ディスクは壊すし散々だったのですが,どう考えても原因がわからず,もしやと思って実機で試すとちゃんと動き,なるほどこのあたりはエミュレーション出来てないんだなあと思った次第です。

 ついでに,2ドライブをフォーマットする改造も紹介して起きます。

(1)すべてのDSKO$とDSKI$の第1パラメータを1から2に変更する
(2)130行目のPOKE&HD980,0を1にする

 PC-6031などのNECのドライブは,フォーマットコマンドを一発送り出すだけでフォーマットをしてくれます。でもFATがないと使えないので,それはBASICで書かれているわけですね。

 ということで,とりあえず私が狙った運用は出来そうです。実機とエミュレータのファイル交換が出来るようになったのは結構大きくて,いろいろな事が出来そうです。

 

初代PC-6001にPC-6031を繋ぐ

  • 2022/03/30 11:29

 PC-6001用のフロッピーディスクドライブが動き出したことで,私の気持ちは一気にPC-6001に傾きました。ここは意を決して初代PC-6001をレストアしようではありませんか。

 この初代PC-6001は,PC-6001mk2が出た直後に投げ売りされていた時に買ってもらったものです。発売から2年が経過し,その後初代でも動くソフトが激減して世代交代を実感するのですが,緑バックの見やすい画面,大文字のファンクションキー,そしてかわいらしい筐体と意外に使いやすいキーボードと,私にとっては魅力一杯のマシンでした。

 なんといっても,私が初めて使ったコンピュータですし,プログラムを組むことやコンピュータのシステム構成を学ぶ機会をくれた,記念すべきパソコンなのです。

 今にして気が付くのは,2年ほどでPC-6001を卒業してしまったことで,当時の私には難しすぎて理解出来ずにいたことがそのままになっていたことをがあるという事実です。今ならとても簡単に理解出来ることが,当時の私にはさっぱりわかりませんでした。

 だから,今,新しいマシンに触れているのと同じ新鮮さがあります。ほら,よくあるじゃないですが,今の知識と能力のまま小学生に戻れたらっていうやつ,まさにあれなんです。

 今の力なら出来る事,でも当時は考えも及ばなかったことに,ハードウェアの自作があります。当時は情報源も少なく,部品の入手方法も限られており,しかも高価でしたから小学生には到底無理な工作も,今なら十分可能です。

 そして,今の私が考えたのが,16kバイトの拡張RAMと拡張BASICのROM,そしてFDインターフェースを1枚にのせた拡張ボードです。

 ご存じの通り,PC-6001でPC-6031を使おうと思ったら,拡張ユニットPC-6011と拡張BASICカートリッジが必要です。通常ディスクBASICと呼ばれるものがROMで供給されるのですからフリーエリアは大きく減りませんし,起動も迅速なので歓迎すべきところですが,貴重な拡張スロットが消えてしまうのは痛いところです。

 しかも実用性から必須である拡張RAMまで考えると,当時一体どれだけの人がPC-6031を使っていたのか首をかしげたくなりますよね。

 私の考えていたカードは,3つの機能を持つもので,これ1つでPC-6001mk2のモード1からモード4をカバーするものです。RAMは256kビットのSRAMで簡単配線,ROMも27256を使って2つの16kバイトの空間をスイッチで切り替える事が可能,そして8255を搭載しFDインターフェースも装備ということで,まさにPC-6001をフルスペックで使うカードなのです。

 個人的には,純正で用意されていなかったものを勝手に付け足すのはPC-6001に限っては違うなと思っていて,ROMのエリアに書き込み可能なフラッシュを置いたり,RAMをバンク切り替えで増やしたりということには,興味はありません。

 そんなわけで,構成を考えます。

 まずRAMは256kビットのSRAMを半分だけ使います。残りの半分は無駄になりますが,A14をLowに固定して殺してしまいます。アドレスは8000hからBFFFhまでの16kバイトなので,簡単なデコード回路でRAMをイネーブルすればよいと考えました。ただ,これは結局失敗に終わります。

 さらに,RAMのCSをスイッチで切り離しでやればRAMカードリッジを抜き差しする手間も省けて楽ちんという事になり,この段階ですでに純正を越えるものになりそうな予感がします。

 ROMは4000hから7FFFhまでの16kバイトですが,PC-6001は4000hから5FFFhと,6000hから7FFFhまでの8kバイトごとにエリアが分かれています。どちらにしても,この16kバイトの空間に27256を割り当て,A14にスイッチを取り付けて16kバイトx2の構成としてROMの交換を再現します。

 さらにCSをスイッチで切り離せるようにしておき,ROMカートリッジを完全に抜いた状態も再現出来るようにします。

 FDインターフェースは8255の3つの8ビットポートがそのまま外のコネクタに出ているだけなので簡単です。アドレスはD0hからD3hまでで,しかも下位4ビットはデコードされていないので,D5hからD7hまでイメージがでても構いません。あと,これはPC-6011相当の機能ですので,CSを切り離す必要はないでしょう。

 回路を考えますが,アドレスデコーダやリセットの反転でどうしてもゲートが中途半端な数になり,いくつか余ってしまいます。特にROMについては4000hから5FFFhのエリアと6000hから7FFFhまでのエリアがそれぞれデコードされてCSが出ているので,これらをORしてROMに突っ込めばよいのですが,それにはANDゲートが1つ必要です。

 他はNANDゲートとORゲートで間に合うので,わざわざANDゲートを使うのは悔しいですから,ここはショットキーダイオードでAND回路を作る事にしました。

 そうやって作ったカードですが,残念な事にRAMが動きません。暴走します。ROMは動いているようですが,FDインターフェースも動いてくれません。なかなか大変そうなかんじです。

 RAMは,アドレスバスがCPUからだけでVDGのアクセスでは動かないことを知らず,VDGのアクセスが出来ないRAMになってしまい,動作しなかったようです。多くの先人が開拓した外部DRAM用の信号を転用する回路に組み直して解決しました。勝手なことをすんな,という話です。

 8255のアドレスデコードもゲートを減らすために一部ダイオードORを使ったのですが,アクセスが全くできません。実はD0とD1が入れ替わっていたという恥ずかしいミスが原因だったのですが,動き出してもRAMのアクセスが時々不安定になっていました。

 波形を見ると,ダイオードORの出力の波形がヨレヨレ,データバスの衝突も起きている感じです。PC-6001は結構タイミングがシビアな設計を行っているようで,ルーズな設計ではトラブルが出がちです。やはりダイオードORは厳しいかと,アドレスデコーダを再設計しました。

 ROMのデコーダも,ワンゲートのANDの在庫が見つかったのでこれに切り替え,結局すべてどっかで見たような回路に落ち着いてしまいました。そのROMですが,半分は拡張BASICを入れるとして,もう半分はI/Oに掲載されていたEXAS BASICコンパイラを打ち込んであるので,これを焼くことにします。

 N60BASICはとにかく遅く,せっかくのグラフィック機能やサウンド機能が有効に利用出来ません。自ずとマシン語に頼ることを考えますが,当時の私にはちんぷんかんぷんでした。後にわかるのは,Z80のアセンブリ言語は全然難しいものではなく,PC-6001の内部情報に関する資料を全く持っていないことが原因だったということでした。

 作ったゲームが遅くて話にならないとうなだれていたとき,EXAS BASICコンパイラで作られたゲームが製品として世に出ていることを知ると,これが自分の限界を超えるツールであると意識をするようになりますが,そうはいっても当時の私に1万円を越える買い物は簡単ではなく,夢で終わってしまったのでした。

 それがこうして,実機でコンパイルをし,BASICで書いたプログラムが高速で動作するのを味わうと,本当に感慨深いものがあります。

 そうそう,FDインターフェースのコネクタについてです。今どきアンフェノールの36ピンコネクタなんて簡単には手に入らないでしょうし,手に入っても正規品の在庫でしょうから高価なはずです。

 ひょっとするとと思って,昨年注文したデジットのお楽しみ箱を探してみると,アンフェノールのメスコネクタの圧着タイプが入っていました。他にも16ピンと10ピンのコネクタも見つかり,手持ちのフラットケーブルを使って変換ケーブルを作ることにしました。

 基板に直接アンフェノールコネクタを置ければいいんですが,ピッチが2.54mmではないのでそのままではマウント出来ず,ユニバーサル基板でスマートに作るには変換ケーブルの世話になるのが一番早いです。

 PC-6001のFDインターフェースは本来36ピンで,8ビットポートが3つで24ピン,これにリセットを加えて25ピン,残りの11本はGNDです。全部繋いでおく必要もなかろうということで16ピンと10ピンのコネクタを使ってギリギリ本数で配線を行います。

20220330112957.JPG

 完成したのがこの写真です。基板はあるお店のオリジナル品を買いましたが,実は製造不良があり,このクオリティなら返品だなあと思ったのですが,使えないわけではないですし,気の毒なのでこのまま使うことにしました。

 ということで,なんとか動き出したのですが,実際に動かしてみると,あの初代でフロッピーが使える事の感激は,それがかつての憧れだったことを思い出させてくれます。カセットはカセットで趣がありますが,やっぱりフロッピーの便利さは一度使うともう戻れません。
 
 しかし最大の問題は,5インチの2Dや1Dのディスクの入手が難しい事。40年も前の磁気メディアですから当たり前の事とは思いますが,AppleIIでも使うこの手のディスク,なんとかしないとちょっと厳しいなあと思います。

PC-6031の復活

 実家から持ち帰ったレトロPCのレストア第2弾は,AppleIIに続いてPC-6001です。

 そう,うちにはPC-6000シリーズの三種のレアアイテム(勝手に私が言ってます)と言われるPC-6031,PC-6061,PC-6053のうち,PC-6031とPC-6053があります。

 PC-6031は5インチフロッピーディスクドライブ,PC-6053はボイスシンセサイザです。

 PC-6031はPC-6000シリーズ用として登場した,当時としては安価なフロッピーディスクドライブでした。PC-8001やPC-8801と同様にインテリジェントタイプで,本体とはパラレルI/Fで接続するものでしたが,コントローラはPC-8031やPC-80s31のZ80とは違い,8049を使ってコストダウンを図っています。

 このため,ドライブ側のZ80にプログラムを流し込み,並列動作させるという技が使えません。ですが,コマンド体系そのものは互換性があるらしく,実はPC-6001にPC-80s31を繋いでも動作します。(確認済みです)

 PC-6031はPC-6001mk2なら直結なのですが,mk2の後に登場したPC-6601で3.5インチへの移行が方向付けられ,PC-6601SRでは1DDになって容量も倍増しています。

 とはいえ,PC-6001のソフトの供給はカセットテープが主流であり,わざわざフロッピーディスクを買っていた人はいないでしょう。

 PC-6053に至っては,実物を見た人も少ないのではないでしょうか。PC-6001mk2は「話す」機能が有名でしたが,これはPC-6001のオプションであるPC-6053をいわば内蔵したもので,しゃべるパソコンは実はPC-6001が最初だったわけです。

 結局の所,安いことを理由に手に入れたPC-6001に,本体と同じ値段のフロッピーディスクを追加できる人は少なく(しかも2万円の拡張ユニットと1万円の拡張BASICが必要),それが可能な人は最初からPC-8801を買うという話です。PC-6053に至っては,欲しいと思った人はほとんどいなかったでしょう。

 私の場合,どちらも使っていた当時に買ったものではなく,随分後から二束三文で手に入れたものなのですが,PC-6001(初代)を手に入れたのもPC-6001mk2が登場して随分経ってからでしたし,その後はX1turboに移行していたので,使った記憶はありません。

 ですが,あのPC-6001でフロッピーディスクが使えるというのは面白い体験ですし,初代PC-6001がmk2のようにしゃべるのも興味深いものです。

 特にPC-6031について便利でもあり,機能的に見劣りしていることをあえて楽しむレトロPCにおいて,楽しむのに便利になるフロッピーディスクはとてもありがたいもので,私としては大事にしたいものの1つです。

 さて,初代PC-6001ではさらにレアと呼ばれるPC-6011(拡張ユニット)とPCS-6001R(拡張BASIC)が必須になるPC-6031ですが,mk2ではどちらも内蔵されたので,直結可能です。私はmk2も持っていますので,PC-6031は実際に動かして使っていましたが,しばらく実家に置き去りにされており,昨年秋に実家から運び込んだPC-6031は,もう20年も通電していないものでした。

 そこで,AppleIIに続いて,PC-6000シリーズをレストアすることしました。まずはPC-6001mk2からです。

 PC-6031を使うにも,PC-6001mk2が動かなくては話になりません。通電の前にタンタルコンデンサをすべてセラミックに置き換えて,電源を入れてみます。最初は起動せず,なんどかリセットを行うと起動するようになりました。不安定ですね。さらに音が出ません。

 とりあえず電源ユニットを含めた電解コンデンサを交換,電圧のチェックを行って再調整を行いました。すると動作は安定します。電圧が4.5V付近まで下がっていたので,これが不安定の原因だったようです。

 音が出ないのは相変わらずで,これはボリュームが破損していました。おそらく本体から出っ張ったシャフトを引っかけてしまったのでしょう。

 部品取りのPC-6001から移植して修理完了。動作も問題はないのですが,あまりに汚いので清掃しようとしましたが,キートップを外そうとしてキーを折ってしまいました。こんなに脆かったっけ?

 さすがに落ち込みましたが,ダメモトで接着剤で修理しました。想像以上にがっちり固定できたようで,今のところ問題なく使えています。

 さて,PC-6031です。これもえらい汚いので分解して掃除から始めます。PC-6000シリーズに共通の問題として,ACコードが劣化し,内部の銅が錆びるというものがありますが,これは危険ですので交換が必要です。

 コントローラ基板のタンタルコンデンサを交換し,組み直します。電源を入れてみますが,一瞬LEDが点灯した後,沈黙。どうも電源ユニットが壊れているようです。

 いやー,スイッチング電源は修理の経験が浅いので,ちょっと焦りました。とりあえず目視で焦げたり変色した部品がないかを確認しますが,どれも問題なし。電解コンデンサの容量抜けも確認しますが,これも問題ではありません。

 あとは回路を順に追いかけてチェックしていくのですが,2次側の製流用のダイオードであるSB340が壊れてショートしているのを発見,手持ちの40V2Aのものにとりあえず交換すると復活しました。これは後日同じSB340に交換することになるのですが,これくらいで電源が復活して本当によかったです。

 心配していたコントローラ基板も動作していますし,もっと心配していたドライブそのものも無事でした。

 ということで,とりあえずPC-6001mk2とPC-6031は動き出しました。

 しばらくゲームを楽しんでいたのですが,懐かしい上に楽しいです。今のスマホのゲーム以下の表現力ですが,それでも十分遊べるのは,ゲームの本質的な部分が良く出てきてからでしょう。

 さて,PC-6001mk2が動いても,まだちょっと物足りません。私は初代PC-6001を,mk2が出た後にあえて選んだ人ですし,背景が緑色であることも,ファンクションキーが大文字で設定されていることも,テキストやセミグラフィック画面の色が反転表示になることも,全部含めてPC-6001が好きなのです。

 後継機であり,周囲の多くが手に入れたmk2に対して,わざわざ初代機を選んだくせに引け目を感じ続けていた事に対する自分なりの納得の仕方として,これらのちょっとした違いであったことは今もまだ鮮明であり,PC-6001mk2で5インチフロッピーディスクが動いても,感動はまだ半分というところなのです。

 まずは,我々兄弟が散々遊んだPC-6001初代の復活。そしてこれをPC-6031と繋いで,当時の憧れを具現化する作戦に出ましょう。

 うちのPC-6001は満身創痍で,20年ほど前に電源回路(初代はシリーズレギュレータなのです)の製流用ダイオードがショート,メイン基板のタンタルコンデンサもショート,サブCPUの8049が破損し交換(ちょうど手に入ったmk2のサブCPUに交換しました),PC-6006(RAMカートリッジ)のDRAMが1つ破損し交換と,なかなか苦労して修理した記憶があります。

 とりあえず電源を入れてみると動いたので深刻な故障はなさそうですが,困ったのは長年接触していたビニールケーブルの可塑剤によって筐体の一部が溶けてしまっていることです。こればかりはどうにもなりません・・・

 部品取りとして買った別のPC-6001から筐体を持ってくるしかないのですが,これも過去に一度全塗装している(しかしその後汚れて傷だらけになってしまった)ので,まずはこれを剥がすことから始めないといけません。

 コツコツやるしかないのですが,いつになることやら・・・

私のAppleII~パドルが動かない

 修理が終わったAppleIIでしばらく遊んでいたのですが,思った以上にパドルやジョイスティックがないと全く遊ぶことが出来ないソフトが多いことに気が付きました。

 ジョイスティックがあくまでオプション扱いだった国産の同時期のパソコンでは,ほとんどの場合キーボードで遊ぶことが可能だったので,AppleIIでも似たようなものだと思っていたのですが,冷静に考えて見るとAppleIIではパドルが標準添付で,同梱のデモソフトの1つにあったブロック崩しもパドルが繋がっていないとゲームが始まらないというものだったりします。

 AppleIIのパドルはスイッチでもなく電圧入力でもなく,抵抗入力です。内部にかの有名なタイマICである555が4つ入った558というICがいて,コイツの時定数を外部のボリュームで可変するのです。

 その結果558の発振周波数が変化しますが,この周波数をソフトで読み取って,パドルの回転角を知るわけです。

 標準添付されたパドルはまさにツマミであり,ジョイスティックのような二軸のもんではありませんでしたが,後々オプションで販売されるようになったジョイスティックは,再田尾で4つまで接続可能なパドルのうち2つをX軸とY軸に割り当てていました。

 ボリュームは150kΩで,目一杯回して0Ωになった場合でも,本体内に100Ωが入っていますので発振は止まりません。

 ということで,amazonでプレスレ用に作られたと思われるアナログスティックのコピー品を安価に買います。これは10kΩですので,そのまま接続してもまともには動きません。

 そこでいろいろ調べてみると,GNDとの間にコンデンサを追加する方法がありました。なるほど,よく考えつくなあ。

 内蔵のコンデンサは0.022uFで,外部のボリュームが150kΩですので,その積は3300。これを10kΩで割ってやると,0.33uFになります。この組み合わせなら同じ周波数が発振するというわけです。

 早速作ってみました。問題ないはず・・・なのに,全く動きません。

 ボタンは動くのですが,パドルは全く動作してくれないのです。配線ミスかもしれないと思い,直接100kΩの抵抗をゲームI/Oに差し込んだのですが,反応なし。

 オシロスコープで波形を見てみると,発振していません。ははーん,これはよくある,558の故障だな。

 しかし,558はすでに製造中止。「買えない」「見つからない」「aliexpressで買ったら偽物が届いた」「555を4つ使った互換基板を作った」と,世界中のAppleIIマニアが558の故障に怯えて毎日を過ごしているのを知っているだけに,私も焦りました。

 しかし探してみると,秋葉原のお店で売っていることが判明。通販もやっているので早速手配しました。本場アメリカでは枯渇したICが秋葉原の店頭にあるとは,すごいです。

 数日後届いた558を交換しましたが,やっぱりだめでした。うーん,ここが故障しているわけではなさそうです。しかし,558は555に比べても単純な回路で動作しますし,4つのモジュールすべてが動いていませんので,どうも納得いきません。

 回路図を改めて眺めてみると,4つのモジュールで共有している0.1uFのコンデンサが目に付きました。普通の積層セラミックなのであまり気にしなかったのですが,調べてみると正常に値が出てこず,非常に小さい値を示しています。

 交換すると,まさにビンゴ。ちゃんとパドルが動くようになりました。積層セラミックって劣化するんですね。これ,DCで容量を測定すればほとんど容量が出てこず,しかし1kHzで測定すると正常な値が出てくるのです。こういう故障もあるんだなあと,いい勉強になりました。

 さすがに40年を超えた部品ですしから,そりゃ壊れるでしょう。ということで,一気にマザーボード上の0.1uFを全部交換することにしました。手間がかかりましたが,これで一安心。

 起動すると,なにやらカーソルの点滅がやけに速いのです。こんなものかなあと思っていたのですが,どうも気ぜわしいのでYouTubeで他の方のAppleIIを見てみると,やはりもっとゆっくり点滅しています。

 そういえば,AppleIIのカーソル点滅は,555を使ってハードウェアでやってたよなあと思い出し,回路図を見てみました。すると,ここでも0.1uFのコンデンサに3.3MΩと12kΩの抵抗でタイミングを作っています。計算すると理論値は2.1Hz程度になるのですが,実測すると2.8Hzと随分高速です。

 この部分のコンデンサは精度と温度特性を考えてセラミックではなく,フィルムコンデンサにしたので,値がおかしいという事は考えにくいです。新品ですので破損もないでしょう。

 ならば抵抗か,と周波数を決定する抵抗の3.3MΩを調べてみると,なんと2.5MΩほどに下がっていました。計算すると2.8Hz程度になりますので,これが原因だったようです。

 手持ちの3.3MΩに交換すると,点滅がもとの落ち着きを取り戻してくれました。

 抵抗,それも1MΩを越えるような高抵抗は,結構簡単に劣化して値が変わります。今回は近くにあるコンデンサの交換の際に熱がかかって,値がずれたのでしょう。

 他の抵抗も予防的に交換して,これでようやく完成です。

 電源ユニットの一次側のコンデンサも,高圧のコンデンサを入手出来たのでこの機会に全部交換しました。いやー,大変でした。

 これで思いつく所はすべて手を入れました。チェックプログラムも通ります。怪しかったキーボード裏側のスライドスイッチ(RESETかCTRL+RESETかを選ぶ)も直しました。

 あとは散々遊ぶだけです。試しにと始めたチョップリフターで,あっという間に1時間。ロードランナーは本家ならではのサークルクリアに見とれているうちに30分経過してしまいました。

 私のAppleIIはそれほど程度は良くなかったのですが,それでも致命的な故障はなかったですし,それでもプロンプトは出てくれましたので,対応が楽でしたし,必ず直せるという見込みも立ちました。ラッキーだったと思います。

 AppleIIへの理解が深まり,興味も出てきました。当時,AppleIIを買えたのは大人だけで,いわば今の私の年齢の人が手に入れたものだったはずです。もし私が当時生きていたら,今のような関心を持つのだろうと思います。

 それは,子どもの頃に使っていたPC-6001への理解の深さとは別の物で,単に長い時間使ったとか,自分の基礎を作ったとか,そういうノスタルジーとは違う,大人ならではの理解力の高さによる,楽しさなんじゃないかと思います。

 そういえば私は,PC-6001のメモリマップやVRAMの構成を,知りませんからね。

 もうしばらくAppleIIで遊ぶことにします。

私のAppleII~電源修理編

 さて,昨日のことなのですが,修理したばかりのApple2が,壊れてしまいました。

 リビングのテーブルにApple2を設置し,のんびりとディスクのフォーマットを行っていたところ,なんだかお湯が沸いたような音が出たと思ったら,突然ボンと爆発音がしました。

 煙がふわーっと立ち上がってプラスチックの焦げた臭いが広がります。不思議と本体は動き続けているので,私はてっきりディスクドライブが壊れたんだと思っていました。

 あわてて電源を切りましたが,煙はおさまりません。嫁さんが血相を変えてすっ飛んできました。このあとしばらく説教され,私は打ちひしがれながらApple2を自室に運び込んだのでした。

 よく見ると,電源ユニットから煙が出ています。しかもカラカラと音がしています。なにかの部品が吹き飛んだのでしょう,1980年の日付印が押されたASTEC製の電源ユニットですので,42年前ですから壊れてもそりゃ仕方がないです。

 しかし,爆発というのは妙にテンションが上がります。命の危険があると動物はアドレナリンを増やして活発に動くようになるそうですが,まさにこれです。

 気を取り直して電源ユニットを取り外して開封しました。このASTEC製のAA11040Bという電源は,開封に2ヶ所あるリベットをドリルで潰してしまわないといけませんので,ドキドキしながら作業を続けます。

 フタを開けると,見事に1次側のMPコンデンサが破裂して吹き飛んでいます。ACラインに入っている0.1uFです。焦げ臭いので,袋に入れたまま撮影しました。

 20220303115447.JPG

 ヒューズも切れていませんし,他の部品に破損や焼損はなさそうです。発熱や放電による変色も見られませんので,とりあえず壊れたのはここだけのようです。

 しかし,これだけの破損がありながら,なぜヒューズが切れなかったのかなあと思って回路図を見ていると,このコンデンサの後ろにヒューズがあるんですね。これじゃコンデンサの破損による事故を防げないですよね。いいのかなあ。

 早速修理ですが,あいにく私は高圧系の部品の在庫はほとんど持っていません。なので耐圧250VのAラインに使えるようなコンデンサなんて持っていたかなあと探してみたのですが,なんと半年前に買ったデジットのお楽しみ箱に数個入っていました。安規マークも入ったものなので,今回の用途にもってこいです。

 さらに,せっかくですので電解コンデンサも可能な限り交換しますが,やっぱりスイッチング電源の高圧側に使えるような高耐圧品の在庫を持っていないので,低圧側のコンデンサを中心に交換を行います。

 ここで失敗したのが,電解コンデンサの極性です。基板のシルク印刷が間違っていると思われる部分があり,回路図を確かめる羽目になりました。google先生に聞いてみると,どうも世界中のユーザーが同じような問題で困っているようで,正しい極性を調べることが出来ました。いくつか反対になっていたようです。

 外したコンデンサの容量をチェックすると,ほとんどのコンデンサで問題がありません。1つだけ半分になっていた物がありましたが,無理に交換する必要もなかったのかも知れません。

 高圧側についてもチェックしましたが,こちらも今のところ問題はなし。

 ところでASTECと言えば,今でも電源メーカーとして知られていますが,当時は香港で製造されていました。香港がまだイギリス領であり,西側と見られていた時代の話です。

 さすがに香港ということで,部品も日本製が多いです。まだ日本が製造で潤っていた時代ですからね,なんか感慨深いものがあります。トランジスタは松下やNECのものが多く使われていますし,電解コンデンサもニチコンのものが入っていました。

 さて,部品の交換を済ませたのち,目視で確認を行ってからこわごわ通電します。電圧は問題なく出ているようで,これなら本体に戻すことが出来るでしょう。

 本体に戻して電源投入。何事もなかったようにApple2は起動しました。

 一難去ってまた一難。そりゃ40年以上前の機械ですので,まともに動く方がおかしいのですが,予防的な交換作業も行えましたし,これでもうしばらく安全に使えるでしょう。
 

 

ユーティリティ

2026年04月

- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed