電子技術II (昔の教科書)
2024.09.27
自分が高校で学んだ時の教科書がまだ有って、
振り返ってみればもう37年
今となってみれば古い技術も多い。
それだけ進歩が著しい世界ということだろう。
表紙

これは寝ているな

光ファイバーについても載っている

ミニファクス! いまでは博物館ぐらいでしかお目にかかれない。
ジャンク屋で手に入れて、アマチュア無線用に改造するのが流行った。

まさにロストテクノロジー

なにしろアナログ全盛だった時代。
クロスバ交換機が主流で、電子交換機も紹介されているけど、クロスバに関する説明に多くのページが割り当てられている。
テレビも勿論アナログ放送でブラウン管
マイクロホン、スピーカー、音響再生装置、テープレコーダに関するページもあるけど、当時でもそこは学ばなかった。そのあたりだけページに書き込みもなくきれい。
授業中に寝ていた痕跡もみられたが、勉強というものは自分から興味をもって取り組まないとだめだなー。受け身だと右から左、左から右へと抜けていくだけ。試験が終わったら忘れる。
疑問が出てきて調べてみてわかった。そこで新たな疑問が生まれて、調べたり考えたり、これが「勉強」なのだと当時はわからなかった。
実際にあれこれする余裕がなかったのも確かかもしれない。授業はどんどん先へ進んでいくし、次の時間には別の授業、ついていくのがやっと。(ついていけてなくて落ちこぼれていた)
振り返ってみればもう37年
今となってみれば古い技術も多い。
それだけ進歩が著しい世界ということだろう。
表紙

これは寝ているな

光ファイバーについても載っている

ミニファクス! いまでは博物館ぐらいでしかお目にかかれない。
ジャンク屋で手に入れて、アマチュア無線用に改造するのが流行った。

まさにロストテクノロジー

なにしろアナログ全盛だった時代。
クロスバ交換機が主流で、電子交換機も紹介されているけど、クロスバに関する説明に多くのページが割り当てられている。
テレビも勿論アナログ放送でブラウン管
マイクロホン、スピーカー、音響再生装置、テープレコーダに関するページもあるけど、当時でもそこは学ばなかった。そのあたりだけページに書き込みもなくきれい。
授業中に寝ていた痕跡もみられたが、勉強というものは自分から興味をもって取り組まないとだめだなー。受け身だと右から左、左から右へと抜けていくだけ。試験が終わったら忘れる。
疑問が出てきて調べてみてわかった。そこで新たな疑問が生まれて、調べたり考えたり、これが「勉強」なのだと当時はわからなかった。
実際にあれこれする余裕がなかったのも確かかもしれない。授業はどんどん先へ進んでいくし、次の時間には別の授業、ついていくのがやっと。(ついていけてなくて落ちこぼれていた)
ブートの仕組み解明
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
小学生の頃、年1回ほど学校で「肝油」の頒布があった。希望者は学校でお金を払って買う。
肝油というのは、ビタミンDを含むソフトキャンディみたいなやつ。
のど飴のような平たい缶に入っていた。
たしか「カワイ 肝油ドロップ」という商品名だった。
一日あたりの服用量は決まっていた。それは当時の幼い頭でもわかっていたけど、やはり食べ盛りのガキンチョである。
どちらかというと薬のようなものだが、お菓子に見えて仕方がなかった。
一応、一日何個までと心に決めて、あとは引き出しにしまっていたが、やっぱり手がのびてしまう。むしゃむしゃ食ってしまい、あっという間に無くなった。
もっと幼い頃には小児用バファリン(オレンジ味)を全部食ってしまった事もあった。枕元にあったから、ついつい。
やはり、おいしい物は身近に置くと危険である。
ついでに書くと、学校で歯磨きをすることになって歯ブラシと歯磨き剤を持参する事になったが、その歯磨き剤をなめるという悪癖が流行?した。
みんな、甘さに飢えていたんだろうな。そして子供用の歯磨き剤はおいしい。いちご味とかメロン味とか。その点も危ない。
授業中でも机の下でチューブを開けて、指にとってペロペロ。誰かが毒だと言い出しても、なかなか断ち切れなかった。
そしてコーラ消しゴム!! コーラの香りが美味しそう!!
ある時、これをかじりたくてどうしようもないときがあった。覚えてないが、かじってしまったかもしれない。コーラの禁断症状だったのか。危険だ。
当時はコーラが飲みたくても自由に買えなかった。そもそも、親からそんな物を飲んではいけない等と厳しく言われていて、そうやって制限されてめったに飲めないからなおさらである。
骨が溶けるだの何だの言われていたのもその頃。
肝油というのは、ビタミンDを含むソフトキャンディみたいなやつ。
のど飴のような平たい缶に入っていた。
たしか「カワイ 肝油ドロップ」という商品名だった。
一日あたりの服用量は決まっていた。それは当時の幼い頭でもわかっていたけど、やはり食べ盛りのガキンチョである。
どちらかというと薬のようなものだが、お菓子に見えて仕方がなかった。
一応、一日何個までと心に決めて、あとは引き出しにしまっていたが、やっぱり手がのびてしまう。むしゃむしゃ食ってしまい、あっという間に無くなった。
もっと幼い頃には小児用バファリン(オレンジ味)を全部食ってしまった事もあった。枕元にあったから、ついつい。
やはり、おいしい物は身近に置くと危険である。
ついでに書くと、学校で歯磨きをすることになって歯ブラシと歯磨き剤を持参する事になったが、その歯磨き剤をなめるという悪癖が流行?した。
みんな、甘さに飢えていたんだろうな。そして子供用の歯磨き剤はおいしい。いちご味とかメロン味とか。その点も危ない。
授業中でも机の下でチューブを開けて、指にとってペロペロ。誰かが毒だと言い出しても、なかなか断ち切れなかった。
そしてコーラ消しゴム!! コーラの香りが美味しそう!!
ある時、これをかじりたくてどうしようもないときがあった。覚えてないが、かじってしまったかもしれない。コーラの禁断症状だったのか。危険だ。
当時はコーラが飲みたくても自由に買えなかった。そもそも、親からそんな物を飲んではいけない等と厳しく言われていて、そうやって制限されてめったに飲めないからなおさらである。
骨が溶けるだの何だの言われていたのもその頃。
プリンタ壊れる
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個あったので取り外して保管しておいた。
まさか、これが後に製作するワンボードマイコンで活躍するとは、当時は思いもしなかったのであった。