エントリー

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

AppleIIの電源をまた修理

 電源ユニットの故障でまたも稼働できなくなったうちのAppleII J-Plus。修理屋メンテナンスから解放されてようやく純粋に使うことを楽しめると期待していた矢先に,まるで誰かがわざとやってるんじゃないかと思うほどの絶妙なタイミングで壊れたAppleIIを,結局また修理する旅に出る私・・・

 今回は,電源ランプが消えているので,完全に電源です。これまでにヒューズを交換してもすぐに勢いよく切れることが分かっているので,どこかがショートしていることはほぼ間違いないでしょう。

 スイッチング電源の場合,こういうケースでは大体ダイオードの破損によるショートです。電源ユニットの回路図を見ていると,あちこちにダイオードがありますが,怪しいのは100Vを整流する高圧のブリッジダイオードです。

 基板にマウントされた状態だとトランスや他の部品によってショートしているように見えるので,ちゃんと確かめるには基板から取り外す必要があるのですが,問題のダイオードであるKBP10を取り外してテスターで確かめると,やはり交流入力とマイナス出力の間が導通してしまってました。

 ここがショートしていると,100Vが短絡してしまいます。ヒューズのおかげで助かりました・・・

 このダイオード以外にも壊れている部品はあるかも知れませんが,とりあえずこのダイオードを先に交換してしまいたいところです。調べてみるとKBP10というブリッジダイオードは1000V2Aのブリッジらしく,耐圧が高い事以外は普通のダイオードのようです。

 しかし,1000Vの耐圧のダイオードなんぞ,私は手持ちで持っていません。真空管アンプかいな?ああ,あれはブリッジなんか使わんと単品で使うんですよ,普通。全波整流の場合でも,センタータップのトランスを使って2本のダイオードで済ませるんですわ。なんでかって?うーん,きっと整流管時代の名残とちゃうかなぁ。
 
 確か1000VならUF4007があるはず,これを4本使って応急修理をするか!とおもってみたものの,UF4007は1A級ですのでアウト。2NU41という宝物をスイッチング電源に使うのももったいないので,ここは素直に,みんな大好き秋月電子にお願いしましょう。

 なんと,1000Vのブリッジでも安いじゃないですか。送料を考えても全然お得です。秋葉原に出向くのも面倒なので通販でお願いしたのですが,ここで私は大きなミスをしました。

 世の中,すっかり夏休みです。私が休みなのは,他の人も休みだからです。

 しかし,私はコロナの事もあり,どこにも出かける予定はなく,夏休みを指折り数えて待ちわびるような清い心の持ち主でもありません。そう,すっかり夏休みを忘れていたのです。

 いつもの気軽な気持ちで注文を先延ばしにしていたら,なんと夏休み前の駆け込みで混雑しており,最悪の場合夏休み明けになるという情報を目にして,私は「どんだけみんな秋月好きやねん」とつぶやいてしまいました。

 数日してどうにか間に合い,KBP10をさらに余裕のあるブリッジダイオードに交換してとりあえず電源をONします。ヒューズは飛ばず,電圧も出ているようです。心配なので波形も見てみますが,綺麗とは言わないまでも,コンピュータの電源としては普通の波形です。

 これで負荷をかけるとどうなるかわかりませんが,いったん組み上げて本体に戻してみます。電源ON,おおー,ちゃんと動き出しました。よかった。

 思うに,拡張カードを級に増やしたことで,電源に負荷が急にかかるようになってしまったのが,故障のきっかけだったんじゃないかと思います。40年以上も経過していれば,いつ壊れてもおかしくありませんが,そういえば前回のコンデンサの破裂の時にも書いた気がします。

 ですが,電圧は低め。これでは動作が不安定になることもあるでしょう。実際カラーキラーがきかなくなってしまうことも頻発していますし,心なしかフロッピーディスクドライブの動作も安定しない感じもします。

 Z80カードのZ80を触って見ると,かなり熱いです。NMOSですので熱いのはわかっていましたが,Z80を動かしていなくてもこれだけ熱いというのは予想外でした。

 熱いという事はそれだけ電力を消費しているということです。最大200mAということですので,電力では1Wですか・・・そりゃ熱いはずです。

 そこでCMOSに交換することにしました。ちょうど手持ちにuPD70008の6MHz版がありました。CMOSですからクロックによって電力が違いますが,4MHzで動かした時の最大値は20mAですので,1/10になっています。

 おかげでフロッピーディスクの動作も安定しましたし,カラーキラーもかかるようになりました。使っていない時に1Wも電気を食わせるというのは本当にもったいないことです。

 さて,これで数時間動かしていますが問題なさそうです。夏のAppleII大作戦はこれで終了と言いたいところですが,実はもう1つ増えてしまいました。これはまだどんな感じかよく分からないのですが,そんな簡単な話ではなく,どっぷりはまってしまいそうな案件です。

 続きは後日に。


AppleIIでCP/M

 AppleIIネタ,次はなかなか面白いですよ,Z80カードの話です。

 AppleIIのCPUは6502です。一方で当時メジャーだったOSは,なんといってもCP/M80です。

 インテルの8080をターゲットにした,世界初のマイコン用OS,それがCP/Mです。CP/Mは特定の機種をターゲットにはせず,CPUが一致していれば移植は簡単で,むしろ移植することが準備として前提になっているといってもいいでしょう。

 多くのアプリケーションがCP/Mで動作するので,CP/Mが動けばもう8080の世界は制覇したも同然です。そしてそのアプリケーションに,BASICやCOBOL,FORTRANやCなどの開発言語系があります。

 この言語系を食い扶持としていたのが,かのマイクロソフトです。

 マイクロソフトの創業者のひとり,Paul Allenは,当時最も先進的でもっとも売れていたパーソナルコンピュータであるAppleIIで,自社の製品を動かせないかと考え,Z80を搭載したカードを作ることを考えつきました。

 AppleIIのスロットは,DMAを使って6502を殺してバスを乗っ取ることができます。つまりカード側にバスマスタを持たせる事が出来るわけで,これまでにZ80や6809などのCPUがAppleII動いてきました。

 Paul Allenはこのカードをマイクロソフトで製品化しようとしますが,周囲の反対に遭います。しかし創業者の強みでしょうか,反対を押し切ってマイクロソフトでは異例のハードウェアが発売されて,これが予想に反して大ヒット。自社のCP/M用のソフトも売れたとの話です。

 そうなるとこのカードを自作する人もでてきますし,クローンを作って売る悪い奴らもで出てきます。こうして,マイクロソフトの「Soft Card Z-80」は,Z80カードの業界標準となったのでした。

 私が先日手に入れたカードも,クローンでした。

 いやね,ADTProも動く目処が立ってきましたし,AppleIIでCP/Mを動かして見たいじゃないですか。それで,8000円近くもしたんですが,つい買ってしまったのです。

 海外では,AppleIIでCP/Mというのは当たり前の話のようです。

 我々日本人にとってCP/Mといえば,PC-8801やX1なわけで,Z80に64KBのRAMにフロッピーディスクが当たり前に使える8ビットマシンが一番身近な存在だったから,CP/Mはそういう環境で動いていました。

 しかし,海外に目をやると,AppleIIが一番普及したマシンですし,他にはというとCommodore64くらいでしょう。TRS-80もありますしたが,フロッピーディスクが普及していたとはいえませんし,その頃にはIBM-PCが市場を席巻していました。

 つまり,8080やZ80で64kBのRAMとフロッピーディスクを持つマシンは,珍しい物だったという事です。

 だからAppleIIでCP/Mを動かすという無駄の多い行為がメジャーになったんです。これは,PC-8801やX1を使っていた私にはちょっと感覚的に知解できないものでした。

 ということで,手元に届いたZ80カードは汚く,見るからに動きそうにありません。実際私のAppleに差し込んでも動きませんでした。電源は入りますが,CP/Mを読み込ませると暴走して画面が変な文字だらけになります。

 さあて,修理の始まりです。

 とりあえず電源が入ってディスクの読み込みが始まったという事は,電源のショートはないということです。つまり電源に入っているコンデンサにショートはないということですので,予防的交換はあるかも知れませんが,起動しない原因としての交換はありません。

 そうなると次は基板の不良やICソケットの接触不良です。これは目視が主になりますが,ぱっとみたところ大丈夫そうです。

 次はTTLの破損です。先日購入したROMライタのTL866IIはロジックICのテスト機能を持っているで,早速使ってみましょう。ソケットから外したTTLをチェックしますが,どれもパス。もちろん,このテストは温度も時間も関係なく,一発勝負でOK/NGを判定するものですから,使っている内に徐々に動かなくなる,一度電源を切るとしばらく直るという良くある故障までは判断出来ませんが,少なくとも今壊れているものがないというのは,心強いです。

 あとは端子が酸化して真っ黒になったLS373やLS20の足を磨いて接触不良を解決しようとしましたが,あろうことか参加したピンは脆くなっているので,LS20の足を2本折ってしまいました。

 一応,LS373とLS20を手持ちの良品を交換した上で,再度動かして見ますがやはり変わらず起動しません。電源に入っている電界コンデンサの容量抜けで電源の電圧変動が大きいとかも考えたので,大きめのコンデンサに交換しますがそれもダメ。

 うーん,あとは基板か・・・と思ったところで,ダメモトでZ80を交換してみました。だいたい,こういう大物をまず最初に疑って交換するのは素人の証拠です。こういうものは滅多に壊れないし,動かない時はだいたい他の部品が自分の配線ミスです。

 ということで,面白半分に,ザイログ謹製のZ80Aを取り外し,見慣れたシャープのLH0080Aに交換してみます。

 するとどうでしょう,動いちゃいました。

 CP/Mが読み込まれ,見事に56K CP/Mが動いています。MBASICと打てばMicrosoftBASICが起動します。こりゃー面白い。

 接触不良かもなと,もとのZ80に交換しますが,先程と同じように起動せず。シャープのZ80に変えると動きますので,残念ですがZ80の故障,ということになりそうです。

 いやはや,まさかZ80が壊れるなんて思いませんでした。

 とはいうものの,実はZ80が壊れたケースは私は2度目です。最初はゲーム基板で,カプコンの1942の故障品を安く買ってきたとき,故障の原因がとうとうわからず,やけくそでZ80を交換したらサクッと動いてしまったことがありました。

 このとき,Z80も壊れるんだなあと感心したのですが,今回もまたZ80の破損が原因でした。確かにCPUだろうがメモリだろうがゲートだろうが,内部のトランジスタが1つ壊れてしまえば動かなくなるわけですから,Z80も壊れて当然です。でも,人生で2度もZ80を交換する経験をするというのは,ちょっと珍しいかもと思っています。

 ともあれ,無事にZ80カードが動作し,CP/Mが楽しめそうな感じになりました。ただ,ディスクのフォーマットは手持ちのCP/Mのものとは違いますし,シリアルで転送するのが可能かどうかもわかりません。ワードマスターもBDS-Cも,MS-FORTRANもMACRO-80も,Appleで動くと面白いんですけど・・・

 ということで,私は安心し,明日からの土日はじっくりAppleIIで遊ぼうと,カードを全部差し込んでフタを閉じて,久々にほっとしていました。

 そうだ,なにか動かしてみようと,手元にあったMidnightMagicをロードするも,なぜか起動せず。あれ,おかしいなとMysteryHouseを起動するも,エラーで止まります。

 そのうち画面のカラーキラーが動作しなくなり,変な色がつき始めました。

 そして,全く動かなくなってしまったのです。キーボードにある電源ランプは消えてしまっています。ああ,電源です。また電源ユニットが壊れたようです。

 今度は異臭も異音もしませんでしたから,危険なことはないでしょう。電源ユニットから電圧が全く出ていないことをテスターで確認してから電源ユニットを分解してみると,ヒューズが飛んでいました。

 一時的な高負荷かも知れないなとヒューズを交換しますが,電源を入れるとパッと青い光を出してヒューズがまた飛びました。原因は他にありそうです。

 一難去ってまた一難。ようやく平和な毎日がやってくると思ったのに,なってこったい。

 続く。

小文字を持ったAppleII Plus

  • 2022/08/10 09:42

 ADTProが動き出したわけですが,実はこれまでに気が付いた事がありました。

 それは,ProDOSの起動画面が,おかしな数字になっていることです。

 実はこれ,CPUをW65C02にしてから変わったことで,それまでは全部大文字で表示されていたのです。

 ADTProはProDOS8の2.4.2で起動します。いつのバージョンからか忘れましたが,ProDOS8はCPUが6502か65C02かを判別し,65C02なら拡張された命令を使うようになっています。

 で,65C02と判定されたなら,そのマシンは自動的にAppleIIeかAppleIIcなので,小文字のキャラクターが搭載されているわけで,起動画面の小文字が使われるようになっているのです。

 私のAppleIIPlusは過去にも書いたとおりW65C02に換装してありますので,ProDOS8は小文字を出そうと頑張るわけですね。でも,なんで数字になるの?

 そう,もともとAppleIIは大文字しかキャラクタを持っていませんでした。汎用のキャラクタージェネレータをそのまま使った関係で,小文字は使えなかったそうです。

 ですが,AppleIIのRev7以降は,キャラクタージェネレータに倍の容量を持つ2316/2716が使えるように回路が修正された関係で,実は小文字が使えるようになっていました。しかし互換性の関係から,そのエリアには数字が繰り返し書き込まれているということだったのです。

 なるほど,こういうことなら当時小文字を出すROMを売っていた業者がいたに違いない,と思って調べてみると,やはりありました。LCA-2というROMです。Rev7以前のAppleIIにはLCA-1という基板セットを装着することになるのですが,Rev7以降はROMだけでOKです。

 よし,これを2764に焼いて(私は2716を持っていない)交換してみようと,早速変換基板も作って試したのですが,画面全体にゴミが出てしまい,所々表示される文字もおかしいのです。

 いやー,これは参った。真面目に考えないといかんなあと,回路図を広げたりキャラクターをすべて表示させたりして規則性を探しました。

 すると分かってきました。

 うちのAppleIIPlusは,J-Plusであったことを忘れていました。

 J-Plusについては,情報があるようでありません。カタカナが出るとはいいながら,どうやったら出るかを説明したサイトは見当たりませんし,キーボードにカタカナが刻印されているとは書かれていても,どうやったらカタカナが入力出来るか,説明したサイトも見当たりません。

 それ以上に,Plusとの違いが正確に説明されたものもないのです。

 F8のROM,AUTOSTARTがJ-Plus専用のROMに変わっており,同時にVideoROMというキャラクタージェネレータもカタカナを含むものに交換されているのですが,せいぜいこの2箇所くらいです。少々気の利いた本には「他にも改造箇所があり動かないソフトもあったらしいが,自分はそういう経験をしていない」とありましたが,それでもその程度です。

 しかし,大変重要な改造がJ-Pulsにはなされていたのです。

 J-Plusは,ゲームポートのAN2を使ってカタカナとASCIIを切り替える仕様となっていました。そのための仕組みがF8ROMに書かれています。AN2がHighだとASCII,Lowだとカタカナになります。

 なので,ゲームポートのAN2とVideoROMのA10が繋がっています。また,面倒なので正確なことは解析していませんが,実はA9も改造されて配線が変更になっています。この結果,本来はスペースを全画面に表示するはずが,小文字の先頭に存在するバッククォートが全画面に出てくるようになっていたのです。

 最初はJ-PulsとPlusを両立出来ないかと思案しましたが,小文字を使う以上は無理と判断して,J-PulsをPlusに戻すことにしました。3箇所のジャンパをはずし,切断された9と10と11のタイを繋ぎ直します。

 これで先程の小文字がきちんと表示されるようになりました。

 ちなみに,AppleIIやPlusでは,一番下のドットが空白になっていて,次の行との隙間を作ります。しかし,AppleIIeでは一番上のドットが空白になっているので,実はAppleIIeでは,全体に1ドット上に表示されています。

 これ,Plusまでは小文字を持たなかったので汎用のキャラクタージェネレータと同じで済んだのですが,AppleIIeで小文字を持つ際に,jやgやyなどの,下にはみ出る文字を扱うために,空白を一番上に持ってきたようです。

 先程のLCA-2はこれを嫌ってか,むりやり空白を一番下に置いた上で,小文字をデザインしています。従って小文字を構成するピクセルが足りず,その品質は低いです。やっぱりAppleIIeの文字は見やすいです。

 ということで,私のAppleIIはPlusと同じ回路となり,キャラクタはIIeと同じ物をつ持つに至りました。ProDOSもちゃんと起動しますし,ADTProもファイル名を小文字で表示表示してくれるようになりました。(ただし反転は出てきません。それは仕方がありません。)

 ちなみに,F8のROMとVideoROMをJ-Plusに変更し,CTRL+Tを押すと,ちゃんとカタカナが入力出来ますよ。ただし,AN2がA10と繋がっていませんので,このエリアにある数字との共存はできません。まあ,聞くところによるとJ-Plusの専用ソフトはほとんどないということですし,実際私も1つも持っていません。ケースのロゴもPlusになっていますし,東レ時代のJ-Plusなのでちょっとさみしいですが,実用品として考えればPlusに戻すのもありでしょう。

 まだまだ続きます。

 

ADTProへの長い道~UthernetII編~

20220805102643.JPG
 まさかの自作失敗で動作がかなわないADTPro。ここで悔しがっていても前に進まないので,不本意ながら別の方法を考えてみます。

 オーディオ経由は非現実です。なら残った方法はイーサーネットだけ。

 しかし,AppleIIの時代にイーサーネットなんて,どう考えても不自然です。純正品のカードもなかったはずですし,ならどんなカードを用意すればよいのやら・・・

 調べてみると答えは簡単でした。イーサーネットカードは自作されたもの。しかもそれはすでにマニアの間では標準的なものになっており,ADTProもそれをサポートしています。

 そのカードとは,UthernetIIというものです。

 開発者が頒布するもの以外で完成品もキットもありません。基本的には公開された情報で自作です。しかし,イーサーネットの回路など作ったことがありません。どうしたものか・・・

 そもそも,AppleIIにTCP/IPならなんやらを実装できるのか?

 仕掛けは案外簡単でした。実は世の中には,ハードウェアでTCP/IPなどを組み込んでしまうイーサーネットコントローラICが存在します。W5100というチップなのですが,上位からは通信したい内容をレジスタでやりとりすれば,チップ内部ですべて処理され,内蔵されたPHYに出てくるという便利なものです。PHY内蔵だけでも一昔前なら超便利と言われたのにねえ。

 このW5100を使えば,非力なCPUでも少ないメモリでも,イーサーネットに繋がるマシンが作れます。実際,Arduinoでも標準的に使われているようです。

 しかし,W5100は0.4mmピッチのQFPです。これをハンダ付けするのも大変ですし,そもそも基板はどうするという話もあります。

 すると,なんとありがたい事に,W5100とイーサーネットのコネクタまで搭載した小さい基板が売られていました。チップ製造元が評価用に用意したもののようですが,組み込み用途にも十分使えるものです。

 W5100とAppleIIとの接続は簡単ですので,このボードを使えば1日もかからずUthernetIIのクローンが作れるでしょう。2500円とちょっと高いですが,早速注文です。

 W5100は5Vトレラントですので,基本的にはAppleIIのバスト直結出来ます。しかしUthernetIIではデータバスのバッファはもちろん,アドレスバスやコントロールバスにもシュミットのバッファを入れる念の入りようです。

 面倒な私は全部すっ飛ばして直結です。

 さくっと結線を終えて,マニュアルにあるモニタからのレジスタ読み書きテストは合格。しめしめ。

 しかし,ADTProでは動かず。DHCPで失敗します。IPアドレスを手動入力しても,実際の通信は出来ません。

 もしかしてIRQかと思って波形を見ますが,ヒゲのようなものが出ています。よく見ると,IRQはW5100の出力ですので,3.3Vが出ています。一方のAppleIIは入力ですが,オープンコレクタの出力端子が繋がるようになっているので,5Vでプルアップされています。

 ありゃ,W5100に5Vがかかってしまった。

 あわてて回路図通りに,オープンコレクタのバッファ(LS07を追加しますが,結果は変わらずで,ヒゲも出ているし動作もしません。この段階でW5100の破壊を疑い,チップだけを手配しました。(結果これは無駄に終わります)

 さらに波形を見ていくと,途中でDHCPに成功することもありますし,上手くいくとDirectoryコマンドまでは通ることがあります。差し込むスロットを2にすると上手く動くことが増える代わりに,7にするとさっぱり動きません。やはりバスですね,こりゃ。

 そこでLS245を追加。これは想定済みです。

 試してみますが,確かに安定しますし,DHCPも通ることが増えましたが,まだまだです。ならばと,回路図通りに他のバッファも追加しましょう。手持ちの関係でLS244を使います。

 うれしいことに,ここまでやると上手く動くようになりました。ADTProが初めてまともに動いた瞬間です。さすがにイーサーネットだけに高速です。

 この時,IRQを確かめてみますが,ヒゲは出ています。どうもヒゲは関係ないようです。IRQは使っていないんじゃないかと思っているところです。


 ようやくADTProがまともに動き出しました。長い時間をかけましたし,失敗もしました。でも,これでようやくゴールです。

 ・・・といいたいところですが,あと3つ,ネタがあります。待て次号。

 

ADTProへの長い道~SuperSerialCard編~

20220805102627.JPG

 なかなかこの日誌を更新できずにいたのですが,それもこれもAppleIIのトラブルが解決しないことにありました。そう,SuperSerialCardです。

 もともとSuperSerialCardの自作は某オークションでうっかり落札の期日を忘れてしまって入手を逃してしまったことから,なら自作するかで始めたものでした。

 前回の日誌では,それが完成したというところで止まっていたかと思うのですが,本来の目的である「ADTPro」という,AppleIIのディスクイメージを実際のフロッピーディスクに書き戻したり,その逆であるフロッピーディスクをイメージにするソフトを動作させることに,なかなか成功しませんでした。

 ADTProは世界中で使われている定番ソフトで,イメージを持っておくサーバーはPC側に,フロッピーディスクの読み書きは実機にクライアントソフトを動かしておいて,双方で通信をすることで動作します。

 通信はカセットインターフェースを用いたオーディオを使うもの,SuperSerialCarsを用いたシリアルポートを使うもの,そしてイーサーネットを使うものの3つから選ぶ事が出来るのですが,オーディオは遅い上に信頼性も低く,非現実な手段でしょう。

 イーサーネットは純正のカードがないので基本的には自作するしかありませんし,そこまで大げさなことをしなくてもと思っていたので, シリアルポートをp使う人が大半だろうと思います。

 これがAppleIIcやAppleIIGSなどのシリアルポートが内蔵された機種ならなにも問題はないのですが,AppleIIPlusやAppleIIeでは,クライアントソフトがサポートするSuperSerialCardを手に入れなければなりません。

 どうも,そういう事情もあってか,アメリカではSuperSerialCardの中古価格が高騰しているそうで,入手も難しくなっていると聞きます。

 私の場合,AppleIIPlusですので,なにがなんでもSuperSerialCardを手に入れるしかないわけですが,貴重な機会を逃してしまい,その後手に入る目処も立っていません。

 だから,自作するという選択肢は間違いではなかったはず,でした。

 完成までの顛末は前回書きましたが,シリアルポートとしては動いてるという前提で,ADTProを動かしてみるも,全然動いてくれません。

 最新の2.1.0では,まずBootに失敗します。Bootというのは,クライアントを実機に転送して起動させるフェイズで,実機のモニタでサーバー側から転送されるProDOSを読み込み,ProDOSで再起動させます。その後ProDOS上で受信ソフトが自動起動し,クライアントソフトがサーバーから転送されるという仕組みです。

 これが全く動きません。Bootloaderの読み込みまでは問題なく進むのですが,ProDOSとADTProを読み込むBootloaderが沈黙したままで転送が始まりません。

 ならばと別の方法でフロッピーディスクに書き込み済みのクライアントソフトを手に入れて,これでADTProを起動させてみたのですが,やっぱりサーバーとの通信が全く行われず,タイムアウトします。

 この場合の多くは,ケーブルの問題だとADTProの開発者も世界中の親切な人も言っていますので,先人達の知恵には従おうと,様々なクロスケーブルの結線を試してみました。しかし結果は惨敗。以下,やってみたことです。

(1)様々なクロスケーブルの結線を試す。手持ちのケーブルは全滅だったので,自由に結線を変更出来るようブレッドボードを間に挟んで考えつく限り試したがどれもダメ。どうもクライアント側から何度もデータを送り込んでいるが,PC側がそれを受け取っていないようだ。

(2)RS-232Cドライバが悪いのかと,ドライバを挟まずPCのUSB-シリアル基板に直結。結果はドライバを挟む場合と同じ。

(3)先人達は,USB-シリアルはFDTIだと失敗しないというので,FDTIのチップが載っているUSB-シリアル変換ケーブルを秋月で調達。しかし状況は全く変わらず。

(4)バージョンを戻して変化が出ればと,2.1.0->2.0.3->2.0.2->1.3->1.0とバージョンを遡ってみた。1.3まで遡るとBootには成功するが,その後がダメ。しかし,何回かに1回はDirectoryコマンドだけ動くことがある。

(5)サーバーはJavaで書かれているので,先人達はJavaのバージョンにもこだわるべきと忠告。そこでJDKやらJREやらVer8やらなんやら,言われたままに様々なものを試してみるがさっぱりだめ。

(6)2.0.3以前は,Java用のシリアルドライバが必要だそうで,それも入れてみる。でもだめ。

(7)Windowsが悪いのかと,RaspberryPiを引っ張り出す。Linuxベースでサーバーを立ち上げてみるがWindowsと全く同じ。ただし,2.0.3のBootはなぜか爆速。

(8)もちろんボーレートも試せるものはすべて試すが全部だめ。

(9)こうなってくるとハードウェアだろうと,SuperSerialCardを疑い始める。まずCMOSで用意されたロジックICをLS-TTLに置き換えるが,むしろ動かなくなることがある。電圧レベルで考えると,Highの入力がCMOSでは3.5V以上必要だが,TTLでは2.4Vですむ。出力もHighがCMOSはほぼ電源電圧で出てくるが,TTLだと4Vを切るくらいなので,実はCMOSで受けるのは結構まずいはずなのに。

(10)バスのドライブ能力が足りなくて安定しないのかもと,オリジナルには入っていたバスバッファを入れて見る。といっても基板面積から面実装品の74AHCT245を選ぶしかなく,これを挟んでみるが結果は変わらず。

(11)モニタからアドレスを直接叩いてみるも問題なし。うーん・・・

(12)しかし,気になる事も。W65C51の初期バージョンにはエラッタがあり,送信バッファが空っぽになったときにフラグが立たない。オリジナルの6551とは挙動が異なる。この問題はW65C51を使う上ではよく知られた話らしい。このエラッタは後に「仕様」と割り切られたあげくに,後期バージョンではしれっと修正されているらしい。
 で,ADTProでエラッタが問題となるかについては不明。ソースを見る元気もない。ただし,初期バージョンでクローンをADTProを目的に作っている人がいるので,おそらく動作しているんじゃないかと思う。

(13)さらに気がかりなこと。実はApple側から8bitで通信が出来ていない。PCのTeraTermからAppleに8bitで文字を送り込むときちんと表示される。しかし,Apple側からTeraTermへは文字化けする。TeraTermを7bitにすると正しく表示されるので,Apple側が7bitで送信しているのは間違いない。
 波形をみると確かに7bit。8bitに設定しても7bitに設定しても波形に変化がない。SuperSerialCardのROMのソースが公開されているので解析をしてもいいのだが,すでにこの段階でもう力尽きつつある。

(14)ADTProでは,SuperSerialCardに搭載されたROMは使わない。SuperSerialCardの回路がややこしいのは実はROMのサポートのためなので,ROMを抜いてしまえばW65C51をそのままバスにぶら下げただけ。これで配線ミスの可能性はぐっと減るはずだが,やっぱりADTProでは動作してくれない。

(15)ADTProのクライアント側から出てくるコマンドやデータをPCのサーバー側でログを取ると,どうも正しいコマンドがクライアントから送られていない事がわかった。データの送信はW65C51のレジスタに書き込んで送信するだけなので,ここに至って万策尽きた。


 確かに,W65C51への書き込みタイミングがあやしくて,連続のアクセスで上手く書き込めていないのかも知れませんし,そういうタイミングの検証は真面目にやってはいません。だけど,1.3では115200bpsでBoot出来ているので,ちょっと違うかなと思っています。

 試せていないことは4つ。1つはシリアルポートが内蔵されたPCで試すこと。なかにはUSB-シリアルではどうにも解決せず,内蔵のシリアルポートでようやく動いたという先人もいらっしゃるようです。

 もう1つは,別のApple2で試すこと。特にAppleIIeと自作のSuperSerialCardの組み合わせです。実は,ADTProでの動作例はほとんどがAppleIIeで,Plusで動かしてる人って少ないのです。

 3つめは,W65C51を交換すること。交換と言っても,昔のNMOSの6551にです。チップの差分による差を確かめてみたいものです。

 最後は,純正のSuperSerialCardを入手すること。これで動いてしまえば自作に失敗した事になりますし,動かないようなら自作の意味が最初からなかったことになるので,どっちに転んでも負けです。

 

 そもそも,PlusではProDOSがそのままでは動きません。16KBのRAMを増設してようやく動き出しますので,そこまでしてPlusでADTProを試す人がいるのかと,そういう話です。一応ADTProの対象機種にPlusは含まれていますが,もしかするともともと動かないものであった可能性もありますし,いわゆる相性の問題があったりするのかも知れません。AppleIIeと自作SuperSerialCardで試せれば一歩進めるんですがねぇ。

とまあ,考えつく限りのことを1ヶ月近くもかけてやってみましたが解決に至りませんでした。残念ながら敗北です。

 一応,シリアルポートとしては機能しているので,無駄にはならないと思います。しかし具体的な使い道もないので,複雑な気分です。

 さて,このままでは最初の目的であったディスクイメージとフロッピーディスクを行き来すること,すなわちADTProを動かす事が出来ずに足踏みです。残念ですがSuperSerialCardにこだわっていても時間ばかりが過ぎてしまうので,違う方法を考えることにします。

 そう,イーサーネットです。続きは次回。

 

ユーティリティ

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