パソコンの勉強
2025.12.04
あの頃(80年代)パソコンの勉強はBASICを覚えることだった。

市販ソフトでは自分の目的が果たせない時は自分で作るしかなかった。
あるいは楽しみとして自分でプログラムを作っていた。
BASICで速度など不足するならマシン語を覚えていた。

学校でパソコンを教えるようになったのは、ちょうど自分たちが高校に入った頃からかな。

その前に卒業した中学校には、まだパソコンが無かった。
先生が趣味でPC98を持っているというので学校に持ってこようかなと言っていた程度。

高校では視聴覚室にパソコン40台が入るというので楽しみにしていたら、なんとPC98ではなく三菱のMULTI-16なんだそれ・・・・・・・・・・・・・・・・・・・・・・・・・

正確にはMULTI-16IVだったが・・・・・・・・・・・・・・・・・・ダサッ。

なんでPC98じゃないのか。不満。

しかもダサいのはそれだけじゃなくて、
先生の席からみんなの席のモニタが見られるし、逆に、たとえば「マジメニヤレ」といった画面表示を生徒に送ることができたりした。

CP/M86が動いたけど、MS-DOSも使えて、あとはワープロソフトA1M2(エースワンマークII)ぐらいだったか。

授業ではBASICのプログラミング、それとワープロの使い方を習ったぐらい。

放課後に一般の方向けでパソコン教室が開催され、70すぎのおばあちゃんまで習いに来ていたという。(BASICのプログラミング講座)

コンピュータ室にメインフレーム(FACOM)が入ったのだが、その端末はFMR-50
まあ、MULTI-16よりはマシだけどなんでPC98じゃないのか。
FACOMの端末ということもあったのだろうけど、官公庁向けではFMRシリーズが多かったみたい。

その2Fには何とPC-8001が・・・Z80のプログラミング実習の時に使った程度。

先生たちは実習棟の教員室にPC98を並べて使っていた。
そしてソフトはほぼ全てピーコしたやつ。ゲームで遊んだりしていたし。
インクリボン考
2025.11.27
タイプライターのインクリボンだって今も手に入るというのに、プリンタのインクリボンは・・・・・・

ちなみにタイプライターは、OlivettiのLettera32を持っています。(実家の押入の中)
学生時代、粗大ごみの日に見つけて拾ったもの。雨上がりだったが、専用カバンに入っていたのでそれほど濡れてなかった。

但しタイプライター用は機種によっても違うが、手動タイプライターはリールが2つあって、片方からもう片方へ巻き取る形になっている物が多いと思う。
黒だけじゃなくて黒・赤の2段だと流用はできないな。

プリンタの場合は両端がつながったループ状になっている。
もしタイプライター用が使えそうだとなった場合、両端をつなごうとしてもうまくできるのかどうか。熱をかけてくっつける?どうやって?
接合箇所を極力フラットにしないと引っかかってトラブルになりそうだ。

今でも手に入るドットインパクトプリンタ用のインクリボンは幅の広い物が多いようです。漢字を印字する前提なのでしょうか。
一方、MZ-1P07は基本的に英数字のみ。
MZ-1P07の名誉のために書いておくと、これでも頑張って漢字を印刷していたのです。さすがに一発では打てないから、複数回に分けて印字していた。

ところで今どきのプリンタ、
年月が経過すると、あっさりと消耗品の供給を止めてしまうようです。
修理も、ある期限をもって終了となります。
現に、いま使っているプリンタの修理受付は来年までとなっています。

現行他機種と共通の消耗品だったら良いのですが・・・。
インクリボン代替品
2025.11.26
インクリボンと言っても熱転写やドットインパクトなど有るけれど、
今回はドットインパクト用の話

以前MZ-1P07で「まほーのてんし」を文字の重ね打ちで出力したけど、

この機種はインクリボンの傷みが早い感じ。いずれボロボロになって使えなくなる。
しかしスペアはもう売ってない。

そこで内部のリボンだけ何とか入れ替えて使えないか、という発想になる。

カーボン紙を重ねて打てないかというのも視野にあった。

じつは今でも各社ドットインパクトプリンタ用のインクリボンは売っている。ほぼ互換品と思うけど、さすがにMZ-1P07用は無い。だけど、もしリボンの幅が同じなら入れ替えて使えるはずだと、そう確信した。

当時、各社からプリンタが発売されていたけど、実際に中身を作っていたのは限られたメーカーじゃないかと思っている。たとえばエプソン。

ドットインパクトじゃないけど、松下のFS-P200というMSX用プリンタを昔持っていた。じつはカシオも同じような物を売っていて、その元はエプソンの製品だった。松下から買ったインクカートリッジに小さくEPSONの刻印があった。

つまり、製造元は同じだったりして元は同じ、部材の共通化なんかで同じものがないかと期待しているわけです。

さて互換インクリボン、試しに買ってみた物は幅が広すぎて全然だめ。一定幅に切る道具でも工夫するかと思ったが・・・

もうひとつ取寄中で、これは届いてみないとわからない。

巻き取る方法はそれほど難しくないはずで、リボンを古いカートリッジに通したら、ツマミを回して巻き取れば、カートリッジの中にたまっていくはず。
一旦バラして巻くんじゃなくて、巻取りのツマミを利用して巻いていく。
まだ脳内妄想の段階で実際に試してないから、そう思うようにいくかはわからないけど、いけそうな気がする。

そして再び、鮮明な「まほーのてんし」をプリントできるようになる。

※まほーのてんし: クリィミーマミ
8251と8255
2025.11.06
8251と8255は兄弟みたいなものだが、用途は違う。
大雑把にいうとシリアルとパラレル

学生の頃の話

MSXに8251のカートリッジを自作して、それでMZやポケコンと通信できたら素晴らしいと思いついた。プログラムやデータの転送ができるようになる。
MZもRS-232Cは無いから、MZ側にも8251ボードが必要となるわけだが、とりあえずポケコンなら簡単そう。
RS-232Cのレベル変換は電源(+12V,-12V)がいるから面倒くさい。当時新しかったMAX232は高価だし、TTLレベルで直結すればいいか、という具合。
結果的から書くと、この最初の試みはうまくいかなかったけど。

確か、クリスタルの周波数が合わなかったのかな。完全に忘れたけど。近くのパーツ屋に無かったか。
他のマイコンやパソコンと1,200bpsとか9,600bpsといった決まったボーレートで通信するなら、クリスタルはそれに合ったものにしなければならない。
でも、自分で作ったものなら適当なボーレートでも、お互いに一致していれば良いのだから、適当な周波数で構わない。

最初の頃は8251のレジスタ設定をサッパリ理解できなかった。

どうも難しそうだと一旦保留にして、今度は8255ならどうだろうと。
じつは使い方としてハンドシェークモードというのがあるけど、やはり当時の理解力ではサッパリで、
それなら、一番単純なI/Oポートとしての使い方によって、お互いにパラレル接続で転送できないかと。

幸い、MZ側には別の目的で作った8255ボードが載せてあった。あとはMSX側に8255カートリッジが有れば良い。配線は多いけど、手間だけの問題だろう。

パラレル転送で思い出すのはプリンタI/F

データ1バイト(8bit)で、ストローブ、ビジー信号、GNDだけ。
プリンタへ、データの準備ができたよ、という合図がストローブ。Lパルスを一瞬送る。
ビジーというのは相手側(一般にはプリンタ)がデータを受け取れない事を示す。これがHレベルならMSX側は(Lになるまで)待つ。

この考えで、MSXとMZの8255同士をつないでやれば、データ転送が簡単にできるじゃないか。

ところが当時の頭ではプログラムがややこしく、えーと、MSXがこうで、その時MZはああして・・・と考えるとごちゃごちゃして分からなかった。

そこで友人と、それぞれMSXとMZになりきって、その役割をシミュレーションした。

そっちがビジーじゃないからストローブ出したよ、データ受け取った。そっちがビジー出してくれないとこっちは次のデータを送ってしまう。一旦止めないと。
えーと、そっちがこうしたら、こっちは・・・

相手の8255の初期化が終わっていないと、制御信号が不定だからどうするのとか、色々考えるべき事があった。

受信しながらフロッピーに書き込もうとすると時間がかかるから、メモリ容量が許す限りメモリ上に展開し、全部受信が終わってからファイル保存しよう。

紆余曲折が有り、何度かプログラムを作り直してようやく安定して転送できるようになった。あまり高速に転送しようとすると、ケーブルにノイズが乗ってデータが化けるから、そこそこ遅くする必要があった。
当時の実験プログラムなどの記録は、古いノートに書き記してある。

これでMZ側はCP/Mのフロッピーをセクターダンプして送信し、MSX側ではそれを受信してメモリ上に展開し、ファイル一つ分の受信が終わったらバイナリで保存する。
こうしてCP/Mの外部コマンド等をMSX-DOS上で動かせるようになった。M80(マクロアセンブラ)、L80(リンカ)、F80(FORTRANコンパイラ)などを持ってきてMSXで使っていた。

当時は8bit単位でデータ転送(データ線は8本)したけど、配線が面倒だったら4bit単位つまり4本にして、あとはプログラムで対応してもよい。でも8bitのほうが単純である。


ふたつの8255同士を接続する時に注意すべき事がある。電源が別々になっている8255同士は直結しない方が良い。

当時はそんな注意点は想像もできず、いや、ちょっとは気になっていたかもしれないが、動けばよしでやっていた。

相手側の電源が入っていない時、こちらの8255から電圧を出していると、向こうの8255が壊れるおそれがある。

CMOS等の入力回路を見たことがあるだろうか。たとえば74HCのデータシートに載っている。入力ピンにはダイオードが電源とGNDに付いている。静電気対策のため。
もし電源OFFのときに信号線に電圧がかかると、そのダイオードを通って電源に流れる事になる。
これで2つの問題が発生する。ひとつは、その漏れ電流で本来電源OFFの回路に微妙に電圧がかかって問題を起こす。リセットが正常にかからなかったりする。
もうひとつは、この保護ダイオードは電流を流すように作られていない為、壊れる可能性が高い。

どうすれば良いかというと、電圧を送らないようにする。送信側はオープンコレクタ(オープンドレイン)のICを通して出力する。
Lかオープン(ハイインピーダンス)のどちらかしかない。

受信側にプルアップ抵抗を設けてやる。オープンコレクタで論理反転するが、送信側か受信側のどちらか(のソフト)で論理反転してやれば済む。
74LS14等のシュミットICで受信しても良い。波形整形できる。
オープンコレクタはL→Hの立ち上がりが遅い(プルアップ抵抗で浮遊容量を充電するため)ので、速く転送しようとしても立ち上がりが追いつかない。ケーブルの長さによっては転送を遅くしないとうまくいかない事がある。
送信側のICのドライブ能力次第だが、プルアップ抵抗をできるだけ小さめにしてみるとか。たとえば1KΩとか。実例としてFDD I/Fは、3.5インチの場合だと1KΩプルアップだったと思う。
パソコン(マイコン)以前
2025.11.03
中1の正月にHITBIT(HB-101)を買ったのが初めてのパソコン(当時はマイコンという呼び方も残っていた)。

それ以前の話を書くと、

親父がニャロメのおもしろコンピュータ探検という本を買ってきた。
それに載っていたキーボードの絵を見ながら、入力の練習をした。
パソコンを買うお金もなかったから、想像の中で練習していた。

初めて触ったのはJR-200(松下)
まだ小学生だっただろうか。
当時あったディスカウント店に展示してあり、電源が入っていた。
うろ覚えのBASICをおそるおそる打ち込んでみたりとか。

初歩のプログラムで出てくるような、ふたつの数を入れて足し算をして表示するプログラム。
10 INPUT B
20 INPUT C
30 A=B+C
40 PRINT A
50 END

なんでB,Cなのかって、これは個人の好みね。式をA=B+Cときれいに?したかったのでしょう。

キー配列も知らないから、文字を探すのにずいぶんかかったけれど。
Bが見つからないからAにしよう。
ということで、式は変えないとな。こんな具合。

BASICを1行打ち込むたびにRETURNを押すのも知らなかったような気がする。
カーソルキーで次の行にカーソルを持っていったりとか、かわいい事をしていた。
それで打ち込んだプログラムは当然、動かない。それ以前に記憶されてない。画面に文字が並んでいるだけ。

その次に触ったのは何だったろう。忘れた。
店に展示してあっても電源が入っていなかったりとか、本体だけとか。

しかし、いったいこれはどうなっているんだろう?
日立H1(MB-H1)などのカタログを見て、中身はどこに入っているんだろうと思っていた。
そりゃあ、所有したこともないし、開けてみたことも当然ないんだから知らない。
後年、壊れたのを開けてみるまでは謎だった。

冒頭のHB-101を買いに行った時も、最初からそれを買おうとしていたのではなく、
予算的にもPV-7かなと思っていたわけ。とりあえずそれで。
田舎だからパソコンが置いてあるだけでも珍しかったのだが・・・
最初デパートに行ってみたけど、PV-7は在庫がなかった。
その向かい側にある大きい電器店に行ってみると、HB-101が有った。
ゲームソフト1本付きで\46,800だったか。ゲームは不要と言ったら\40,800になったと思う。

買って帰ったその夜は大興奮。
新品のニオイだとか言って嗅いでみたり、もはや変態。(笑)

拾ってきた白黒テレビを自分の机の上に置いて使っていた。

翌日、学校に行っている間にHB-101を捨てられたりしないかが心配だった。

- CafeLog -