MZ-1F07のメンテ
2024.10.24
MZ-1F07は外付FDD
もう何年も動かした記憶がなくて、確か、片方のFDDが壊れていて使えない。
さすがに40年も経過すると仕方ない。
電源回路だけでも手入れしようと、ようやく着手した。

電解コンデンサを調べて、部品配置と容量・耐圧及び寸法を記録した。

1個ずつ取り外して測定してみると、意外と容量は減っておらず、ESRが上昇しているものが3個あった。
この際、全て新品交換しておく。(部品手配中)
FDDのほうにも電解コンデンサが載っているのでそれぞれ交換する予定。
あとはヘッドクリーナー(まだ持っている)をかけてみて復活するか試してみるのと、一通り点検してみるぐらいか。
いずれFDDは限界が来るので(予備があっても将来的には厳しくなる)、その代わりとなる物も考えていきたい。実は以前から作りかけていた物があるけど、色々忙しくてそのままになっていた。
もう何年も動かした記憶がなくて、確か、片方のFDDが壊れていて使えない。
さすがに40年も経過すると仕方ない。
電源回路だけでも手入れしようと、ようやく着手した。

電解コンデンサを調べて、部品配置と容量・耐圧及び寸法を記録した。

1個ずつ取り外して測定してみると、意外と容量は減っておらず、ESRが上昇しているものが3個あった。
この際、全て新品交換しておく。(部品手配中)
FDDのほうにも電解コンデンサが載っているのでそれぞれ交換する予定。
あとはヘッドクリーナー(まだ持っている)をかけてみて復活するか試してみるのと、一通り点検してみるぐらいか。
いずれFDDは限界が来るので(予備があっても将来的には厳しくなる)、その代わりとなる物も考えていきたい。実は以前から作りかけていた物があるけど、色々忙しくてそのままになっていた。
MZ-2000のメンテ
2024.10.24
高校生の頃から持っているMZ-2000のメンテ
以前からやりたかったが、なかなか重い腰が上がらず、ズルズルと今まで・・・ようやく今朝から着手して、あっという間に片付けた。
取りかかれば早い。作業自体は1時間ちょっと。
事前に部品を調べて手配するのにかかった時間も、ざっと1時間ぐらいか。
やればすぐできる事を先延ばしにする悪い癖。しかし、取りかかれば早い。
色々割り込みも入ってきて、取り掛かろうと思ってもなかなかできない場合もよくあるけれど。
本日の作業は、電源ユニット、CPUボード、グラフィックボードの電解コンデンサ交換。
(あとはカセットデッキ、拡張ボックス、モニタ、そして外付FDD MZ-1F07の作業が残っている)
電源ユニット

(電解コンデンサ交換後)
いや、ほんと、電解コンデンサたちは長年ご苦労さまでした。ロット番号を見ると1982年と書いてあった。勤続42年ということになります。
1982年といったら、私は毎日なんとなく過ごしていた小学生だった。やりたいように自由に生きていた。まさか将来このMZ-2000と出会うなんて、そしてMZ-2000の存在も知らなかったでしょう。
取り外した古い電解を測定し、容量とESR値を記録しました。
一番悪かったのは電源基板の470μFで、なんと、ほとんど容量なし。17pFって・・・紙とアルミを巻いた物体でしかない。
これは-5V系の3端子レギュレータの入力側に有る電解で、こんな容量抜けで今まで良く動いていたものです。
2200、3300、4700μFは測定器の仕様で対応できなかった。
他の100μF以下の電解コンデンサは、概ね半分~1/5程度の容量まで減っていた。
10μFはCPUボードのリセット回路用で、これは8.99μF程度で容量だけ見れば十分だけど、ESRが3Ω近くまで上がっていた。
全体的に良品と言えるものはひとつも無く、いままでギリギリで動いていたんだなと改めて思います。
昔の100μF/16Vと今の100μF/16Vって大きさが違いますね。昔のほうが大きい。技術の進歩や小型化の要求の結果でしょう。
このMZ-2000は、あの平成3年の台風19号の時、ボロ下宿の雨漏りで水をかぶってしまったものです。傾けるとザザーと水が出てきたぐらい。
その後よく乾かして、内部を点検してから電源を入れたら正常に動いたけれど、とにかく歴史のあるものです。
以前からやりたかったが、なかなか重い腰が上がらず、ズルズルと今まで・・・ようやく今朝から着手して、あっという間に片付けた。
取りかかれば早い。作業自体は1時間ちょっと。
事前に部品を調べて手配するのにかかった時間も、ざっと1時間ぐらいか。
やればすぐできる事を先延ばしにする悪い癖。しかし、取りかかれば早い。
色々割り込みも入ってきて、取り掛かろうと思ってもなかなかできない場合もよくあるけれど。
本日の作業は、電源ユニット、CPUボード、グラフィックボードの電解コンデンサ交換。
(あとはカセットデッキ、拡張ボックス、モニタ、そして外付FDD MZ-1F07の作業が残っている)
電源ユニット

(電解コンデンサ交換後)
いや、ほんと、電解コンデンサたちは長年ご苦労さまでした。ロット番号を見ると1982年と書いてあった。勤続42年ということになります。
1982年といったら、私は毎日なんとなく過ごしていた小学生だった。やりたいように自由に生きていた。まさか将来このMZ-2000と出会うなんて、そしてMZ-2000の存在も知らなかったでしょう。
取り外した古い電解を測定し、容量とESR値を記録しました。
一番悪かったのは電源基板の470μFで、なんと、ほとんど容量なし。17pFって・・・紙とアルミを巻いた物体でしかない。
これは-5V系の3端子レギュレータの入力側に有る電解で、こんな容量抜けで今まで良く動いていたものです。
2200、3300、4700μFは測定器の仕様で対応できなかった。
他の100μF以下の電解コンデンサは、概ね半分~1/5程度の容量まで減っていた。
10μFはCPUボードのリセット回路用で、これは8.99μF程度で容量だけ見れば十分だけど、ESRが3Ω近くまで上がっていた。
全体的に良品と言えるものはひとつも無く、いままでギリギリで動いていたんだなと改めて思います。
昔の100μF/16Vと今の100μF/16Vって大きさが違いますね。昔のほうが大きい。技術の進歩や小型化の要求の結果でしょう。
このMZ-2000は、あの平成3年の台風19号の時、ボロ下宿の雨漏りで水をかぶってしまったものです。傾けるとザザーと水が出てきたぐらい。
その後よく乾かして、内部を点検してから電源を入れたら正常に動いたけれど、とにかく歴史のあるものです。
ブートの仕組み解明
2024.09.24
CP/M移植後、その起動にはBASICを必要とした。
ちょうど良い具合にBIOSやCCPなどの配置アドレスがBASICのフリーエリアにあたり、
そこへBLOADで必要なモジュールを読み込み、開始番地へ飛べばCP/Mが起動できた。
(注意:開始番地へ飛ぶ前に、フロッピーをCP/M用に差し替えないとうまく動かないし、BASICのフロッピーの内容を壊してしまう)
だが、本来ならばフロッピーから直接CP/Mを起動したかった。
この仕組みはある程度理解できたが、実際に起動するようにはできなかった。
まずIPLのROM、これはマニュアルにソースがあったから、どんな仕組みでフロッピーを読み込むかが把握できた。
自分でいじれるように、そのソースを自分で手打ちしてテキスト化し、自由にコメントが書き込めるようにした。
次に、Hu-BASICの読み込みのプログラムを逆アセンブルして、その仕組を解明しようとした。これはそのセクターを一旦RAMに読み込み、それをHEX化してWindowsのPCへ送り、その先で逆アセンブルのソフトにかけた。
さらに内容を1行ずつ理解しながら、1行1行にコメントをつけて、このビットは何で、あれをどうすればこうなるとか詳しく記述しながら理解を深めていった。
こうして仕組みを把握したところで実際にCP/Mを読み込ませる仕組みを作ろうとしたが、MZの起動用のセクターとCP/Mの起動用のセクターの・・・・・・うーんと、もう忘れたな。
結局、IPLのROMをいじってCP/M専用のロード機能を付けたらどうか、あるいはRAMボードに入れるか、RAMボードにCP/M専用のブートローダを入れて動かしたらどうか、と妄想したところで止まっていた。
ちょうど良い具合にBIOSやCCPなどの配置アドレスがBASICのフリーエリアにあたり、
そこへBLOADで必要なモジュールを読み込み、開始番地へ飛べばCP/Mが起動できた。
(注意:開始番地へ飛ぶ前に、フロッピーをCP/M用に差し替えないとうまく動かないし、BASICのフロッピーの内容を壊してしまう)
だが、本来ならばフロッピーから直接CP/Mを起動したかった。
この仕組みはある程度理解できたが、実際に起動するようにはできなかった。
まずIPLのROM、これはマニュアルにソースがあったから、どんな仕組みでフロッピーを読み込むかが把握できた。
自分でいじれるように、そのソースを自分で手打ちしてテキスト化し、自由にコメントが書き込めるようにした。
次に、Hu-BASICの読み込みのプログラムを逆アセンブルして、その仕組を解明しようとした。これはそのセクターを一旦RAMに読み込み、それをHEX化してWindowsのPCへ送り、その先で逆アセンブルのソフトにかけた。
さらに内容を1行ずつ理解しながら、1行1行にコメントをつけて、このビットは何で、あれをどうすればこうなるとか詳しく記述しながら理解を深めていった。
こうして仕組みを把握したところで実際にCP/Mを読み込ませる仕組みを作ろうとしたが、MZの起動用のセクターとCP/Mの起動用のセクターの・・・・・・うーんと、もう忘れたな。
結局、IPLのROMをいじってCP/M専用のロード機能を付けたらどうか、あるいはRAMボードに入れるか、RAMボードにCP/M専用のブートローダを入れて動かしたらどうか、と妄想したところで止まっていた。
知らずに貴重なソフトを捨てた
2024.09.24
親戚からMZ-2000が届いた後、わけがわからないまま、とりあえずフロッピーを片っ端からFDDにつっこんでは起動するかどうか、あるいはBASIC起動後、フロッピーを差し替えながらFILES(DIR)で中身を確認していた。
すると、いくつか読み込めない物があった。
(この時点では無知で、たとえばシャープBASICとHu-Basicのファイルシステムの違いなんか全く知らず、相互に違うフロッピーを読み込もうとしてエラーとなり読み込めない。勘違いして、壊れたフロッピーディスクだと思い込んだ)
確かに、フロッピーに傷が入っており、見た目で駄目なものもあった。ここまで削れたら駄目だよなと。そもそもタバコのヤニでコーティングされていたようなもの。
大量のフロッピーの中には、貴重なソフトもいくつかあったらしい。これは後から判明した。あとで送り主の本人と直接会う機会があり、雑談をしていたら、そのソフトは有ったはずだよと。
読み込めないものと勘違いして、捨ててしまった! 当時は庭でゴミを燃やすのは規制されてなかったから、ゴミと一緒に燃やしてしまった。
MZ-2000用のCP/Mもあったよ!と言われて、ええっ、まさか、そんな・・・大ショック。
これが2004年のMZ-2000へのCP/M移植へ結びつくとは。
なんでCP/Mが必要だったか?アセンブラやリンカが欲しかった。
当時アセンブラの開発環境(ソフト)は無く、ハンドアセンブルしかなかった。コード表を見ながら、ニーモニックからマシン語に変換していた。いま思えば地獄のようだった。
しかしこのおかげで、Z80のマシン語を覚えてしまい、いまでもダンプからニーモニックに変換できる。
BASIC上でアセンブラ、逆アセンブラを作ろうと試みたこともあった。結局、途中で挫折して(根性が続かない)中途半端に終わってしまっていた。
ハンドアセンブルでは、ある程度大きいプログラムを作ろうとすると非常に効率が悪い。相対アドレスをFF, FE, FD, FC, FB, FA・・・と逆に数えたり、命令を追加したり削ったりするたびにやりたくない。
MZの話から脱線するけど、アセンブラのソフトを手に入れたのは専門学校の学生になってから。
それだって最初はMSXの書籍に載っていたやつを打ち込んで使っていたもんな。確かモニタアセンブラって言わなかったっけ。BASIC上で動くやつじゃなかったか。
ソースをBASICのREM文の形で記述していって、アセンブラ自身が破壊されるので再びロードする手間がなかったっけ。
あんまり大変だったので、思い切ってMSX-DOS2 TOOLSを買って、MSX-Cも買って、MSX上での開発環境をようやく整えた。
さらにMSXからMZへ(または逆方向)の転送を行うハードウェアを手作りし、相互にプログラムやデータの転送ができるようにした。MSX上でアセンブルしたものをMZ上で動かす事も可能となった。
高校生の頃にもCP/M移植を考えたけど、ハンドアセンブルでは到底やりきれないものだった。いや、できるよそのくらいって言いたくなる人はいるかもしれないけど、やはり効率が違う。BIOS自体を作らなければならなかったのだから。
2004年のCP/M移植ではWindows PC上のアセンブラ(確かフリーソフトのZASM)を使って、TeraTermだったか、シリアル通信を使ってMZにプログラムを送り込んでいた。
もちろんMZ側のシリアルI/Fは当初手作りだった。
受信はBASICでも良く、MZ側は処理が遅くて取りこぼしそうだったが、遅くても確実に転送できるようにゆったり構えていた。
BASIC上からマシン語で記述した受信ルーチンを呼んでいたかどうかは忘れたけど、とにかくRAM上にBIOSなどCP/Mの動作に必要なプログラムが揃えば、BASICからBSAVEでフロッピーに保存できた。
あとは、これらをBLOADして、その開始アドレスへ飛べばCP/Mが動き始める仕掛けにした。
最初はシリアル通信で接続したPCからの1文字入力、1文字表示で動かしていたが、少しずつBIOSを整備しMZ側での画面表示を作り、次にキーボード入力を作ろうとしたがよくわからなくてそれっきりになっている。
すると、いくつか読み込めない物があった。
(この時点では無知で、たとえばシャープBASICとHu-Basicのファイルシステムの違いなんか全く知らず、相互に違うフロッピーを読み込もうとしてエラーとなり読み込めない。勘違いして、壊れたフロッピーディスクだと思い込んだ)
確かに、フロッピーに傷が入っており、見た目で駄目なものもあった。ここまで削れたら駄目だよなと。そもそもタバコのヤニでコーティングされていたようなもの。
大量のフロッピーの中には、貴重なソフトもいくつかあったらしい。これは後から判明した。あとで送り主の本人と直接会う機会があり、雑談をしていたら、そのソフトは有ったはずだよと。
読み込めないものと勘違いして、捨ててしまった! 当時は庭でゴミを燃やすのは規制されてなかったから、ゴミと一緒に燃やしてしまった。
MZ-2000用のCP/Mもあったよ!と言われて、ええっ、まさか、そんな・・・大ショック。
これが2004年のMZ-2000へのCP/M移植へ結びつくとは。
なんでCP/Mが必要だったか?アセンブラやリンカが欲しかった。
当時アセンブラの開発環境(ソフト)は無く、ハンドアセンブルしかなかった。コード表を見ながら、ニーモニックからマシン語に変換していた。いま思えば地獄のようだった。
しかしこのおかげで、Z80のマシン語を覚えてしまい、いまでもダンプからニーモニックに変換できる。
BASIC上でアセンブラ、逆アセンブラを作ろうと試みたこともあった。結局、途中で挫折して(根性が続かない)中途半端に終わってしまっていた。
ハンドアセンブルでは、ある程度大きいプログラムを作ろうとすると非常に効率が悪い。相対アドレスをFF, FE, FD, FC, FB, FA・・・と逆に数えたり、命令を追加したり削ったりするたびにやりたくない。
MZの話から脱線するけど、アセンブラのソフトを手に入れたのは専門学校の学生になってから。
それだって最初はMSXの書籍に載っていたやつを打ち込んで使っていたもんな。確かモニタアセンブラって言わなかったっけ。BASIC上で動くやつじゃなかったか。
ソースをBASICのREM文の形で記述していって、アセンブラ自身が破壊されるので再びロードする手間がなかったっけ。
あんまり大変だったので、思い切ってMSX-DOS2 TOOLSを買って、MSX-Cも買って、MSX上での開発環境をようやく整えた。
さらにMSXからMZへ(または逆方向)の転送を行うハードウェアを手作りし、相互にプログラムやデータの転送ができるようにした。MSX上でアセンブルしたものをMZ上で動かす事も可能となった。
高校生の頃にもCP/M移植を考えたけど、ハンドアセンブルでは到底やりきれないものだった。いや、できるよそのくらいって言いたくなる人はいるかもしれないけど、やはり効率が違う。BIOS自体を作らなければならなかったのだから。
2004年のCP/M移植ではWindows PC上のアセンブラ(確かフリーソフトのZASM)を使って、TeraTermだったか、シリアル通信を使ってMZにプログラムを送り込んでいた。
もちろんMZ側のシリアルI/Fは当初手作りだった。
受信はBASICでも良く、MZ側は処理が遅くて取りこぼしそうだったが、遅くても確実に転送できるようにゆったり構えていた。
BASIC上からマシン語で記述した受信ルーチンを呼んでいたかどうかは忘れたけど、とにかくRAM上にBIOSなどCP/Mの動作に必要なプログラムが揃えば、BASICからBSAVEでフロッピーに保存できた。
あとは、これらをBLOADして、その開始アドレスへ飛べばCP/Mが動き始める仕掛けにした。
最初はシリアル通信で接続したPCからの1文字入力、1文字表示で動かしていたが、少しずつBIOSを整備しMZ側での画面表示を作り、次にキーボード入力を作ろうとしたがよくわからなくてそれっきりになっている。
プリンタ壊れる
2024.09.24
MZ-2000をもらってから、それほどたたないうちにプリンタMZ-1P07が壊れた。
確か画面のハードコピーをやっていて、途中でヘッドから煙が出て止まった。塗りつぶしの印字が負担をかけたのか?
もともと会社でよく使われていた物だから相当くたびれていたのだろう。
ヘッドにつながるフレキケーブルが焼ききれていた。これは簡単には直せない。一応、色々と悪あがきもしたけど結局だめ。
翌夏に大阪へ行く機会があり、日本橋のOAシステムプラザでMZ-1P07の中古を購入した。
この時が初大阪・日本橋だけど、その後一度も行く機会がない。10年以上前、通天閣の仕事で近くを通ったぐらい。
当時初めて行った時は、親戚のおじさんについていくだけで精一杯で、パーツ屋さんを見ても気持ちが一杯一杯で何か買おうとかそういうふうに頭も回らない。ただ夢中だった。
PC-8801か何か、店頭のPCの画面の片隅にアニメの女の子が表示されていてチョコッと動いていたのを覚えている。
帰りの飛行機で、プリンタを手荷物検査に通して機内持ち込みにした。足元に置いたほうが良さそうだったのでそうした。
飛行機も初心者で、記憶も無いような幼い頃に五島まで乗った事はあるようだが、自分一人で乗ったのは来る時が初めて。
壊れたほうのプリンタも一応直そうと試みたが当時の自分には無理で、仕方なく部品取りをして、2764が2個あったので取り外して保管しておいた。
まさか、これが後に製作するワンボードマイコンで活躍するとは、当時は思いもしなかったのであった。
確か画面のハードコピーをやっていて、途中でヘッドから煙が出て止まった。塗りつぶしの印字が負担をかけたのか?
もともと会社でよく使われていた物だから相当くたびれていたのだろう。
ヘッドにつながるフレキケーブルが焼ききれていた。これは簡単には直せない。一応、色々と悪あがきもしたけど結局だめ。
翌夏に大阪へ行く機会があり、日本橋のOAシステムプラザでMZ-1P07の中古を購入した。
この時が初大阪・日本橋だけど、その後一度も行く機会がない。10年以上前、通天閣の仕事で近くを通ったぐらい。
当時初めて行った時は、親戚のおじさんについていくだけで精一杯で、パーツ屋さんを見ても気持ちが一杯一杯で何か買おうとかそういうふうに頭も回らない。ただ夢中だった。
PC-8801か何か、店頭のPCの画面の片隅にアニメの女の子が表示されていてチョコッと動いていたのを覚えている。
帰りの飛行機で、プリンタを手荷物検査に通して機内持ち込みにした。足元に置いたほうが良さそうだったのでそうした。
飛行機も初心者で、記憶も無いような幼い頃に五島まで乗った事はあるようだが、自分一人で乗ったのは来る時が初めて。
壊れたほうのプリンタも一応直そうと試みたが当時の自分には無理で、仕方なく部品取りをして、2764が2個あったので取り外して保管しておいた。
まさか、これが後に製作するワンボードマイコンで活躍するとは、当時は思いもしなかったのであった。