AppleIIでCP/M
- 2022/08/13 13:55
- カテゴリー:マニアックなおはなし
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を起動するも,エラーで止まります。
そのうち画面のカラーキラーが動作しなくなり,変な色がつき始めました。
そして,全く動かなくなってしまったのです。キーボードにある電源ランプは消えてしまっています。ああ,電源です。また電源ユニットが壊れたようです。
今度は異臭も異音もしませんでしたから,危険なことはないでしょう。電源ユニットから電圧が全く出ていないことをテスターで確認してから電源ユニットを分解してみると,ヒューズが飛んでいました。
一時的な高負荷かも知れないなとヒューズを交換しますが,電源を入れるとパッと青い光を出してヒューズがまた飛びました。原因は他にありそうです。
一難去ってまた一難。ようやく平和な毎日がやってくると思ったのに,なってこったい。
続く。