MULTI16 IVとFMR-50
2025.02.27
'88年頃の話
学校にFMR-50(富士通)というパソコンが導入された。
その前に視聴覚室にはMULTI16 IV(三菱)が40台導入されていた。
なんでこんなマイナーな機種が・・・と、同級生のマニア同士で愚痴っていたものである。
どうせならPC98を入れてくれればいいのに、と。
PC98にしなかった理由は不明。
メーカーとのコネか、安かったのか。
PC98だったら、余計なソフトを持ち込んで遊ぶからダメなのか?(それは先生たちだろう。職員室はPC98ばかりで、麻雀などで遊んでいた)
一応、MULTI16 IVはCP/M86とMS-DOSが動作した。そのMS-DOS上からBASICを動かしていた。
ワープロソフトも有った。(A1M2、エースワンマークII)
FMR-50は、汎用コンピュータFACOM M730の付属品として導入されたようなもの。
良かったのは、これが置いてあるコンピュータ室だけ(当時)冷房があった。
夏場のパソコン実習は最高だった。
この汎用コンピュータは、いわゆるメインフレームと呼ばれるもの。
メモリ容量などは今の安物PCにも劣る。(それだけで比較したらいけないが)
ご参考
ttp://museum.ipsj.or.jp/computer/main/0073.html
これを使ったFORTRANプログラム実習も有ったが、コンパイルがとても遅くて嫌になっていた。
何百何千行というプログラムを作っているのではなく、10行前後の短いプログラムをコンパイルして実行するだけなのに。
コンパイル、実行、を押してから15分ぐらい経過して、ようやく終了。(長すぎ)
これだったら、PC98のMS-DOS上の開発環境のほうが良かったのでは。いや、PC-8001のCP/M上でも十分だったかも。
そのくらい遅かった。
確か10人か15人前後、FMR-50を端末として使っていたけど、みんな同時に操作するとさらに遅い。
先生が、ベンチマークだったのか知らないけど、合図したらみんな一斉に実行キーを押せよという。
うっかり私が(フライングして)押してしまい、お前のせいでみんなが迷惑するだのボロカス言われてしまった。
FMR-50自体は普通に使えるパソコンだった。MULTI16よりマシ。(でも本当はPC98がよかった)
まだ当時はHDDは一部しか付いておらず、フロッピーディスクを主に使っていた。
FMR-60も数台あったような。それにHDDが内蔵されていた。
このFMR-50だけど、いつだったか数年前に母校を訪れた時にまだ有って、いまだに動いているとは・・・
調べてみると、官公庁などで使われていた機種のようで、その流れで学校にも入ったのかもしれない。
----------追記
FMR-50エミュレータが有る?
ttp://takeda-toshiya.my.coocan.jp/fmr50/index.html
学校にFMR-50(富士通)というパソコンが導入された。
その前に視聴覚室にはMULTI16 IV(三菱)が40台導入されていた。
なんでこんなマイナーな機種が・・・と、同級生のマニア同士で愚痴っていたものである。
どうせならPC98を入れてくれればいいのに、と。
PC98にしなかった理由は不明。
メーカーとのコネか、安かったのか。
PC98だったら、余計なソフトを持ち込んで遊ぶからダメなのか?(それは先生たちだろう。職員室はPC98ばかりで、麻雀などで遊んでいた)
一応、MULTI16 IVはCP/M86とMS-DOSが動作した。そのMS-DOS上からBASICを動かしていた。
ワープロソフトも有った。(A1M2、エースワンマークII)
FMR-50は、汎用コンピュータFACOM M730の付属品として導入されたようなもの。
良かったのは、これが置いてあるコンピュータ室だけ(当時)冷房があった。
夏場のパソコン実習は最高だった。
この汎用コンピュータは、いわゆるメインフレームと呼ばれるもの。
メモリ容量などは今の安物PCにも劣る。(それだけで比較したらいけないが)
ご参考
ttp://museum.ipsj.or.jp/computer/main/0073.html
これを使ったFORTRANプログラム実習も有ったが、コンパイルがとても遅くて嫌になっていた。
何百何千行というプログラムを作っているのではなく、10行前後の短いプログラムをコンパイルして実行するだけなのに。
コンパイル、実行、を押してから15分ぐらい経過して、ようやく終了。(長すぎ)
これだったら、PC98のMS-DOS上の開発環境のほうが良かったのでは。いや、PC-8001のCP/M上でも十分だったかも。
そのくらい遅かった。
確か10人か15人前後、FMR-50を端末として使っていたけど、みんな同時に操作するとさらに遅い。
先生が、ベンチマークだったのか知らないけど、合図したらみんな一斉に実行キーを押せよという。
うっかり私が(フライングして)押してしまい、お前のせいでみんなが迷惑するだのボロカス言われてしまった。
FMR-50自体は普通に使えるパソコンだった。MULTI16よりマシ。(でも本当はPC98がよかった)
まだ当時はHDDは一部しか付いておらず、フロッピーディスクを主に使っていた。
FMR-60も数台あったような。それにHDDが内蔵されていた。
このFMR-50だけど、いつだったか数年前に母校を訪れた時にまだ有って、いまだに動いているとは・・・
調べてみると、官公庁などで使われていた機種のようで、その流れで学校にも入ったのかもしれない。
----------追記
FMR-50エミュレータが有る?
ttp://takeda-toshiya.my.coocan.jp/fmr50/index.html
考え方を学ぶ
2025.02.21
プログラムの組み方も人それぞれの考え方が反映されます。
組織の中では、属人的ではない方が望ましいかもしれませんけど。(作った人がいなくなったら保守できない・・・では困る)
お手本や周囲の仲間からの学んだことが基本になっていると思います。
Z80を覚えたのは高校生の頃、同じクラスの友人に教わりながらマシン語でプログラムを作っていました。
結果がわかりやすいのは画面表示の操作です。見てわかります。
たとえば白黒反転(MZ-2000だから緑白か)してみるとか。逆さまにするとか。鏡像にするにはどんなふうにプログラムを作るか。
画面の一部を切り抜いて、指定した位置へ移動させるには。
スクロール(タテ、ヨコ)をするには。
最初はループの作り方も知らなかったのですが、試しながら徐々に覚えていきました。
自分なりに考えて、画像を裏返し(鏡像)にしてみようと思い付きました。
それには1バイトごとにビットをひっくり返す必要があります。
最初に考えたルーチンは恥ずかしくて見せられたもんじゃありません。
BIT命令、SET命令、RES命令を使って、ビット0が0だったら結果レジスタのビット7を0にする。1だったら1にする。こんなふうに8ビット分、くそまじめに記述しました。
でも・・・よく考えてみると、結果を入れるレジスタを最初にクリアしておけば、0は書かなくて良いのです。1だけ見て処理すれば良いことに気づき、プログラムは短くなりました。
もう、これ以上考えることはない。自分なりに考えても、これ以上シンプルにはできないはずだ。
ところが友人は、シフト命令を使ってキャリーフラグ経由で1ビットずつ移すプログラムを作りました。まさに目から鱗でした。
私は、そういう使い方を思いつかなかったからです。命令表でキャリーフラグを巻き込んでシフトする命令があるのはたぶん知っていたはずです。でも、使い方(応用)を思いつかなかった。
コピー元のレジスタを左にシフト、最上位のビットがキャリーに入る。これをコピー先のレジスタにキャリーから入れて右にシフトする。この処理を8回繰り返せば1バイトの処理が済む。
でも、世の中にはもっと他の考え方もありました。
あらかじめ、反転データのテーブルを作っておくのです。あるいは、初期化時にRAM上へ展開するのでも良いでしょう。
こうすればアドレスの計算だけで速く変換できます。その代わりメモリを食います。
さらに考えると(考えるまでもないが)そのテーブルを、きりの良いアドレスに配置すればアドレスの計算も簡単かつ速くなるわけです。
これ以上は有るかと言うと、プログラムでやれる方法は思いつきませんが、ハードウェアを使ってよいのなら特定のアドレスなりポートに書くと(配線がクロスしていて)別のアドレスかポートから反転データが得られる、というのは可能です。(あくまでも、CPUにそういう命令がない場合の話です)
組織の中では、属人的ではない方が望ましいかもしれませんけど。(作った人がいなくなったら保守できない・・・では困る)
お手本や周囲の仲間からの学んだことが基本になっていると思います。
Z80を覚えたのは高校生の頃、同じクラスの友人に教わりながらマシン語でプログラムを作っていました。
結果がわかりやすいのは画面表示の操作です。見てわかります。
たとえば白黒反転(MZ-2000だから緑白か)してみるとか。逆さまにするとか。鏡像にするにはどんなふうにプログラムを作るか。
画面の一部を切り抜いて、指定した位置へ移動させるには。
スクロール(タテ、ヨコ)をするには。
最初はループの作り方も知らなかったのですが、試しながら徐々に覚えていきました。
自分なりに考えて、画像を裏返し(鏡像)にしてみようと思い付きました。
それには1バイトごとにビットをひっくり返す必要があります。
最初に考えたルーチンは恥ずかしくて見せられたもんじゃありません。
BIT命令、SET命令、RES命令を使って、ビット0が0だったら結果レジスタのビット7を0にする。1だったら1にする。こんなふうに8ビット分、くそまじめに記述しました。
でも・・・よく考えてみると、結果を入れるレジスタを最初にクリアしておけば、0は書かなくて良いのです。1だけ見て処理すれば良いことに気づき、プログラムは短くなりました。
もう、これ以上考えることはない。自分なりに考えても、これ以上シンプルにはできないはずだ。
ところが友人は、シフト命令を使ってキャリーフラグ経由で1ビットずつ移すプログラムを作りました。まさに目から鱗でした。
私は、そういう使い方を思いつかなかったからです。命令表でキャリーフラグを巻き込んでシフトする命令があるのはたぶん知っていたはずです。でも、使い方(応用)を思いつかなかった。
コピー元のレジスタを左にシフト、最上位のビットがキャリーに入る。これをコピー先のレジスタにキャリーから入れて右にシフトする。この処理を8回繰り返せば1バイトの処理が済む。
でも、世の中にはもっと他の考え方もありました。
あらかじめ、反転データのテーブルを作っておくのです。あるいは、初期化時にRAM上へ展開するのでも良いでしょう。
こうすればアドレスの計算だけで速く変換できます。その代わりメモリを食います。
さらに考えると(考えるまでもないが)そのテーブルを、きりの良いアドレスに配置すればアドレスの計算も簡単かつ速くなるわけです。
これ以上は有るかと言うと、プログラムでやれる方法は思いつきませんが、ハードウェアを使ってよいのなら特定のアドレスなりポートに書くと(配線がクロスしていて)別のアドレスかポートから反転データが得られる、というのは可能です。(あくまでも、CPUにそういう命令がない場合の話です)
マイコンBASIC規格表
2025.02.11
今は新しい物は出版されていないが、トランジスタ規格表のシリーズを揃えていた。
昔はデータシート等は手に入れるのが容易ではなかった。とくに学生はそうだったろう。会社でも、代理店の営業さんが持ってきたり、いちいち代理店やメーカーに頼んで送ってもらっていた。そこで、こうした規格表や秋月で部品を買った時の添付資料なんかは貴重だった。
そういえば昔、勤務先から代理店に頼んで東芝のデータブックを全部もらおうとしたら、冊数が多いので・・・とやんわり断られ、どうしても必要な物だけにしてくださいというのでマイコンとロジックIC、あとは総覧表だけ。
いや、実際その当時は全部といえば相当な冊数が有ったので、使うかどうか不明な物まで送るのは無駄だったのだろう。自分がかつて勤務していた会社には一通り揃っていたのだが・・・。
ところで、
トランジスタ規格表のシリーズに「マイコンBASIC規格表」という変わり種があったのは誰も覚えていないかもしれない。
トランジスタだのダイオードだのの中に、BASICですからね。ハードとソフトの違い。
'80年代に各社がマイコン(パソコン)を売っていたが、それぞれBASICに方言があった。BASICインタプリタを作っていたのはマイクロソフトとか数社だっただろうけど。(だったら同じにしてくれれば良かったのに、と今更思う。各社の差別化のためにバラバラだったのだろうか)
そのBASICの命令ごとに、各機種の互換性とかコメントが書いてある本だった。「移植」をする人にも役立ったかもしれない。
昔はデータシート等は手に入れるのが容易ではなかった。とくに学生はそうだったろう。会社でも、代理店の営業さんが持ってきたり、いちいち代理店やメーカーに頼んで送ってもらっていた。そこで、こうした規格表や秋月で部品を買った時の添付資料なんかは貴重だった。
そういえば昔、勤務先から代理店に頼んで東芝のデータブックを全部もらおうとしたら、冊数が多いので・・・とやんわり断られ、どうしても必要な物だけにしてくださいというのでマイコンとロジックIC、あとは総覧表だけ。
いや、実際その当時は全部といえば相当な冊数が有ったので、使うかどうか不明な物まで送るのは無駄だったのだろう。自分がかつて勤務していた会社には一通り揃っていたのだが・・・。
ところで、
トランジスタ規格表のシリーズに「マイコンBASIC規格表」という変わり種があったのは誰も覚えていないかもしれない。
トランジスタだのダイオードだのの中に、BASICですからね。ハードとソフトの違い。
'80年代に各社がマイコン(パソコン)を売っていたが、それぞれBASICに方言があった。BASICインタプリタを作っていたのはマイクロソフトとか数社だっただろうけど。(だったら同じにしてくれれば良かったのに、と今更思う。各社の差別化のためにバラバラだったのだろうか)
そのBASICの命令ごとに、各機種の互換性とかコメントが書いてある本だった。「移植」をする人にも役立ったかもしれない。
PV-7 (MSX) 修理記
2025.01.23
PV-7は中学生の頃、一番最初に買おうと思ったMSXだったが(主に予算の都合)、買いに行った店に在庫がなく、代わりにHB-101を買ったのでした。結果的には良かった。
実際にPV-7を手に入れたのはずいぶん後のこと。2000年代に入ってから。
ネットオークション(あまり人気がなさそうな某所)に500円で出品されており、誰も入札がなかったので500円で落札した。これが、(うちで呼んでいる)初代PV-7となった。
届いたものを見ると土がついているし、一体どこから拾ってきたのかと言いたくなるような感じ。
それでも動作したので、手元に置いて時々使っていた。なんといっても小さいから場所をとらないし、片付けが簡単にできるのが良い。
その後、あまりにも身辺の物がごちゃごちゃになっていろいろ片付けたくなり、安価で売ってしまった。
それから数年たった、つい先日のこと。出品を見ていたらジャンクのPV-7が気になり始めた。いかんいかん、オークションやフリマは余計な物を買ってしまうから見ないようにしていたのに。
説明: 通電しましたが、画面は表示されませんでした。
ジャンクのわりには値段が高めの感じがしたし、実際、誰も落札しないでずっとそのままになっていた。
数日考えたが、どうも気になって、そんな壊れたPV-7を直して救済したくなった。気がついたらポチった後だった。仕方ない。
前置きが長くなったけれど、とにかく届いたので修理を始めたわけです。
確かに電源を入れてみると、画面は真っ黒で(映像信号は来ている)電源を入れ直しても何も表示されない。
届いた後、先に仕事を片付け、夕方から作業して2時間程度で動作するようになりました。

タイパでコスパな時代なので、先に結論を書くと、
原因はROMで、その内容が化けていました。
どうしてROMと特定できたか、などについては以降に書いていきます。

正常なROMと今回の個体のROMの内容 (文字列が含まれる部分)


ダンプを見てみると、8バイトおきにデータがおかしくなっているのがわかります。文字列だと比較しやすいでしょう。
ROMライタはピンエラーを出していました。そのソケットの接触不良を疑ってソケットを掃除したり、別のICソケットを下駄のように差してからROMライタに装着してみたが結局変わらずで、やはりROM自体の不良です。内部でアドレスピンA3が切れかかっているのか、微妙な状態なのかはわかりません。
原因をつきとめるまではそれなりに手間がかかりました。ある程度は経験とカンでした。
自作のチェッカーと、オシロでアドレスやデータの変化をみると、どうもループしているように見えました。同じパターンで繰り返しているようでした。
修理の流れは、
まず基本的なところから、電源の入口から3端子レギュレータ、各ICの電源ピンをあたってみるとほぼ5Vで正常。
ロジックICに異常は無いか。ひとつひとつ当たりました。目立った問題はなさそうです。
松下のTTLか。松下に限らず、当時は各社がTTLを作っていました。
製造から何十年も経過している為、電解コンデンサの劣化は確実でしょう。そこで全部取り外し、LCRメーターで容量とESRを測定・記録しました。結果的には、意外にもまだまだいけそうな数字でした。
電解コンデンサの不良が原因でおかしくなっているわけではない。この事が確認できました。
でも、今後を考えると新品交換するのが間違いないので新品を付けました。
ハンダ付けの状態も隅々まで見て、クラックなど無いか確認しました。片面基板では時々、よくこれで今まで大丈夫だったな、というハンダ付け状態は有ります。SG-1000IIを調べた時もそうでした。ギリギリ皮一枚?みたいなハンダ付けでつながっているのを見かけました。
ちなみにブラウン管テレビの修理経験では、クラックやハンダ剥がれは良くありました。重量のある部品や発熱の大きい部品は特にその傾向がありました。よくある横一とか。叩くと正常にうつる、ってのもだいたいこれです。
ジョイスティックコネクタを見ると、やはりパターンが剥がれたのか、リード線でつないで修理した痕跡がありました。

抜き差しの多い所だけに、片面基板では強度的に厳しいと思います。電源ジャックやスイッチはその弱点を意識して最初から対策されていましたが・・・。
さて、さっきオシロで調べた時の動きから考えると、どうもおかしい。たとえば、アドレスやデータバスがどこかでひっついていないか。(拡張スロットなども含めて目視で調べました)
あるいは、ひょっとしたらROMじゃないか?と疑ってみたわけです。
調べるためにROMと(ついでに)RAMを取り外し、ソケットを付けました。RAMのほうは後で容量を増やすことを意識しています。
ハンダ吸取機は3台持っているけど(業務なのでバックアップも含めている)、片面基板ではハンダ吸取線のほうが手軽です。吸い取り機はズゴーズゴーとうるさいし。
ROMを読み出してみると、おかしいことに気づきました。特に文字列のところを見たら明らかに変で、これはひょっとして・・・
幸い、先代のPV-7からバックアップしておいたROMデータがありました。これを27256に焼いて、差し替えてみます。・・・・・・あっさり動きました。
(MSX1だったら他機種でもROM内容は同じだろうと思います)
ROMのデータが壊れたりしていたのは過去何度か経験がありました。PC-486SE2の時は特定のビットが(全ての番地)1に固定されていて、物理的に壊れていたのだと思います。
窓付きROMなんかそのうち消えるんじゃないかと思っていますが、うちのMZ-2000は今のところ正常に動いています。
マスクROMだったら原理的に(記憶が配線として固定されているから)年数が経過しても消えないだろうという認識です。窓付きROMやフラッシュROMはフローティングゲートに電子を注入し、それが逃げないので記憶が維持されます。絶縁されていてもわずかに電子が漏れ出し、いずれ消えてしまいます。それは何十年ぐらいなのか。温度などの条件によっても左右されると思います。
見た目は窓なしでも、じつは中身は窓付きと同じというROMはありました。1回しか書き込まない前提で、'90年代ごろ製品用に良く使っていました。窓付き(セラミックパッケージ)はコストが高いので、通常のパッケージで1回しか書けないけど製品用にはコストダウンになるというわけです。
このPV-7に載っていたROMはそれなのかどうか確認できていません。
ROMは原理的にビット'0'を書き込むもので、初期(イレース)状態では全ビット'1'です。従って、ゼロを上書きしてみればそれが書き込める物なのかどうか判断できるかもしれません。
こういったMSXなどはオリジナル(マスター)のデータが有るからまだマシです。日常的に産業機器の修理をしていますが、ROMやPLDのデータが化けているのか正常なのか、比較するマスターがないので判断できない時があります。
ラベルにチェックサムが書いてあるだけでも助けになります。
ついでにPV-7の3端子レギュレータと放熱板を撤去しました。
3端子レギュレータは安価なので、大きい放熱板で何とかなったんでしょうけど、いまのエコな時代には合いません。3端子DC-DCコンバータと差し替えました。
でも、すぐそばの電解コンデンサと干渉してしまいました。
3端子DC-DCコンバータは、これも失敗した事があるのだけど、ピンの並びが手前側か奥か、2種類ありますよね。意外と気づかないけど、何種類か調べてみるとわかる。
今回の場合は手前側のほうが良かった。
以前別の仕事で試作をした時、この手前側か奥かというのをうっかり忘れていて失敗しました。
パターンに合うように実装したらじつはINとOUTが逆になっていて、マイコン回路に12Vがかかって高価なマイコンを壊してしまった。MEGA2560だから\3,000ぐらいする。一瞬でパー。
3端子DC-DCコンバータは、OUTからIN方向でダイオードが入っています。これは負荷側の放電目的(7805でも同様にダイオードを付けることがある)と思います。このダイオードを通って12Vがかかってしまったというわけです。(細かい話をすれば順方向電圧分だけ下がるが、その分はせいぜい1ボルト前後だから、5V動作のマイコンに対しては高すぎた電圧)
さて、PV-7の話に戻ります。
DC-DCコンバータに差し替え前・後の消費電流を比較してみると、9V側で200mA程度の差がありました。DC-DCコンバータのほうが200mA少なくなったのです。
7805のようなリニアレギュレータは抵抗で電圧を落としているようなものです。実際は複雑な制御をしていますが、原理は入出力の電圧の差を熱に変えて放出するわけです。
昔、あまりわかっていなかった頃は(別の用途で)24Vから5Vに変換しようとして、やたらに熱くて触ったら指を火傷した、なんて失敗もありました。生半可な放熱板じゃ到底間に合わない。どうしよう、と困ったものでした。結局パチンコのDC-DCを使って解決したっけ。
今回の場合、
9Vから5Vでその差は4V、減った電流は200mA、これで計算すると、今まで約0.8Wを熱として捨てていた事になります。
先代の魂(ROMデータ)を引き継いだ二代目PV-7、これから活躍してくれそうです。
まだキーボードの不調は直しておらず、これからです。
当時「よいパソコン、悪いパソコン」という自動車評論の本のマネみたいな本がありまして、PV-7は「ついに出た使い捨てパソコン」と酷評されていました。キーボードに関しては「キャラメルかヌガーを並べたような」と書かれていて、それで今でも覚えています。
当時ヌガーってのは何なのか知りませんでした。そういうお菓子か何かあるのかなと。今でもよく知りません。
まあ、その筆者の独断と偏見で言いたい放題でしたが、こんなキーボードでも慣れれば普通に使えるのですから不思議です。
ポケコンを熱心に使っていた頃も、あの細かいキーボードで素早く入力していました。特にテンキー部分には、軽く押して反応するように紙を挟んで調節していました。
実際にPV-7を手に入れたのはずいぶん後のこと。2000年代に入ってから。
ネットオークション(あまり人気がなさそうな某所)に500円で出品されており、誰も入札がなかったので500円で落札した。これが、(うちで呼んでいる)初代PV-7となった。
届いたものを見ると土がついているし、一体どこから拾ってきたのかと言いたくなるような感じ。
それでも動作したので、手元に置いて時々使っていた。なんといっても小さいから場所をとらないし、片付けが簡単にできるのが良い。
その後、あまりにも身辺の物がごちゃごちゃになっていろいろ片付けたくなり、安価で売ってしまった。
それから数年たった、つい先日のこと。出品を見ていたらジャンクのPV-7が気になり始めた。いかんいかん、オークションやフリマは余計な物を買ってしまうから見ないようにしていたのに。
説明: 通電しましたが、画面は表示されませんでした。
ジャンクのわりには値段が高めの感じがしたし、実際、誰も落札しないでずっとそのままになっていた。
数日考えたが、どうも気になって、そんな壊れたPV-7を直して救済したくなった。気がついたらポチった後だった。仕方ない。
前置きが長くなったけれど、とにかく届いたので修理を始めたわけです。
確かに電源を入れてみると、画面は真っ黒で(映像信号は来ている)電源を入れ直しても何も表示されない。
届いた後、先に仕事を片付け、夕方から作業して2時間程度で動作するようになりました。

タイパでコスパな時代なので、先に結論を書くと、
原因はROMで、その内容が化けていました。
どうしてROMと特定できたか、などについては以降に書いていきます。

正常なROMと今回の個体のROMの内容 (文字列が含まれる部分)


ダンプを見てみると、8バイトおきにデータがおかしくなっているのがわかります。文字列だと比較しやすいでしょう。
ROMライタはピンエラーを出していました。そのソケットの接触不良を疑ってソケットを掃除したり、別のICソケットを下駄のように差してからROMライタに装着してみたが結局変わらずで、やはりROM自体の不良です。内部でアドレスピンA3が切れかかっているのか、微妙な状態なのかはわかりません。
原因をつきとめるまではそれなりに手間がかかりました。ある程度は経験とカンでした。
自作のチェッカーと、オシロでアドレスやデータの変化をみると、どうもループしているように見えました。同じパターンで繰り返しているようでした。
修理の流れは、
まず基本的なところから、電源の入口から3端子レギュレータ、各ICの電源ピンをあたってみるとほぼ5Vで正常。
ロジックICに異常は無いか。ひとつひとつ当たりました。目立った問題はなさそうです。
松下のTTLか。松下に限らず、当時は各社がTTLを作っていました。
製造から何十年も経過している為、電解コンデンサの劣化は確実でしょう。そこで全部取り外し、LCRメーターで容量とESRを測定・記録しました。結果的には、意外にもまだまだいけそうな数字でした。
電解コンデンサの不良が原因でおかしくなっているわけではない。この事が確認できました。
でも、今後を考えると新品交換するのが間違いないので新品を付けました。
ハンダ付けの状態も隅々まで見て、クラックなど無いか確認しました。片面基板では時々、よくこれで今まで大丈夫だったな、というハンダ付け状態は有ります。SG-1000IIを調べた時もそうでした。ギリギリ皮一枚?みたいなハンダ付けでつながっているのを見かけました。
ちなみにブラウン管テレビの修理経験では、クラックやハンダ剥がれは良くありました。重量のある部品や発熱の大きい部品は特にその傾向がありました。よくある横一とか。叩くと正常にうつる、ってのもだいたいこれです。
ジョイスティックコネクタを見ると、やはりパターンが剥がれたのか、リード線でつないで修理した痕跡がありました。

抜き差しの多い所だけに、片面基板では強度的に厳しいと思います。電源ジャックやスイッチはその弱点を意識して最初から対策されていましたが・・・。
さて、さっきオシロで調べた時の動きから考えると、どうもおかしい。たとえば、アドレスやデータバスがどこかでひっついていないか。(拡張スロットなども含めて目視で調べました)
あるいは、ひょっとしたらROMじゃないか?と疑ってみたわけです。
調べるためにROMと(ついでに)RAMを取り外し、ソケットを付けました。RAMのほうは後で容量を増やすことを意識しています。
ハンダ吸取機は3台持っているけど(業務なのでバックアップも含めている)、片面基板ではハンダ吸取線のほうが手軽です。吸い取り機はズゴーズゴーとうるさいし。
ROMを読み出してみると、おかしいことに気づきました。特に文字列のところを見たら明らかに変で、これはひょっとして・・・
幸い、先代のPV-7からバックアップしておいたROMデータがありました。これを27256に焼いて、差し替えてみます。・・・・・・あっさり動きました。
(MSX1だったら他機種でもROM内容は同じだろうと思います)
ROMのデータが壊れたりしていたのは過去何度か経験がありました。PC-486SE2の時は特定のビットが(全ての番地)1に固定されていて、物理的に壊れていたのだと思います。
窓付きROMなんかそのうち消えるんじゃないかと思っていますが、うちのMZ-2000は今のところ正常に動いています。
マスクROMだったら原理的に(記憶が配線として固定されているから)年数が経過しても消えないだろうという認識です。窓付きROMやフラッシュROMはフローティングゲートに電子を注入し、それが逃げないので記憶が維持されます。絶縁されていてもわずかに電子が漏れ出し、いずれ消えてしまいます。それは何十年ぐらいなのか。温度などの条件によっても左右されると思います。
見た目は窓なしでも、じつは中身は窓付きと同じというROMはありました。1回しか書き込まない前提で、'90年代ごろ製品用に良く使っていました。窓付き(セラミックパッケージ)はコストが高いので、通常のパッケージで1回しか書けないけど製品用にはコストダウンになるというわけです。
このPV-7に載っていたROMはそれなのかどうか確認できていません。
ROMは原理的にビット'0'を書き込むもので、初期(イレース)状態では全ビット'1'です。従って、ゼロを上書きしてみればそれが書き込める物なのかどうか判断できるかもしれません。
こういったMSXなどはオリジナル(マスター)のデータが有るからまだマシです。日常的に産業機器の修理をしていますが、ROMやPLDのデータが化けているのか正常なのか、比較するマスターがないので判断できない時があります。
ラベルにチェックサムが書いてあるだけでも助けになります。
ついでにPV-7の3端子レギュレータと放熱板を撤去しました。
3端子レギュレータは安価なので、大きい放熱板で何とかなったんでしょうけど、いまのエコな時代には合いません。3端子DC-DCコンバータと差し替えました。
でも、すぐそばの電解コンデンサと干渉してしまいました。
3端子DC-DCコンバータは、これも失敗した事があるのだけど、ピンの並びが手前側か奥か、2種類ありますよね。意外と気づかないけど、何種類か調べてみるとわかる。
今回の場合は手前側のほうが良かった。
以前別の仕事で試作をした時、この手前側か奥かというのをうっかり忘れていて失敗しました。
パターンに合うように実装したらじつはINとOUTが逆になっていて、マイコン回路に12Vがかかって高価なマイコンを壊してしまった。MEGA2560だから\3,000ぐらいする。一瞬でパー。
3端子DC-DCコンバータは、OUTからIN方向でダイオードが入っています。これは負荷側の放電目的(7805でも同様にダイオードを付けることがある)と思います。このダイオードを通って12Vがかかってしまったというわけです。(細かい話をすれば順方向電圧分だけ下がるが、その分はせいぜい1ボルト前後だから、5V動作のマイコンに対しては高すぎた電圧)
さて、PV-7の話に戻ります。
DC-DCコンバータに差し替え前・後の消費電流を比較してみると、9V側で200mA程度の差がありました。DC-DCコンバータのほうが200mA少なくなったのです。
7805のようなリニアレギュレータは抵抗で電圧を落としているようなものです。実際は複雑な制御をしていますが、原理は入出力の電圧の差を熱に変えて放出するわけです。
昔、あまりわかっていなかった頃は(別の用途で)24Vから5Vに変換しようとして、やたらに熱くて触ったら指を火傷した、なんて失敗もありました。生半可な放熱板じゃ到底間に合わない。どうしよう、と困ったものでした。結局パチンコのDC-DCを使って解決したっけ。
今回の場合、
9Vから5Vでその差は4V、減った電流は200mA、これで計算すると、今まで約0.8Wを熱として捨てていた事になります。
先代の魂(ROMデータ)を引き継いだ二代目PV-7、これから活躍してくれそうです。
まだキーボードの不調は直しておらず、これからです。
当時「よいパソコン、悪いパソコン」という自動車評論の本のマネみたいな本がありまして、PV-7は「ついに出た使い捨てパソコン」と酷評されていました。キーボードに関しては「キャラメルかヌガーを並べたような」と書かれていて、それで今でも覚えています。
当時ヌガーってのは何なのか知りませんでした。そういうお菓子か何かあるのかなと。今でもよく知りません。
まあ、その筆者の独断と偏見で言いたい放題でしたが、こんなキーボードでも慣れれば普通に使えるのですから不思議です。
ポケコンを熱心に使っていた頃も、あの細かいキーボードで素早く入力していました。特にテンキー部分には、軽く押して反応するように紙を挟んで調節していました。
連続用紙とドットプリンタ用インクリボン
2025.01.07
昔はドットプリンタが多くて、あの独特のジャージャー音を出しながら印字していたものだが、すっかり見かけなくなった。
ATMの通帳記帳はドットプリンタと思われる。今は、これぐらいか。
伝票など、ドットプリンタで印字したような物は時々見かける。
調べてみると、連続用紙は今でも売っている。だけどずいぶん値段が高い。
MZ-1P07で使っていたのは10インチ幅のもの。
学生時代は汎用コンピュータ(メインフレーム)でCOBOL実習をしたけど、もうちょっと幅の広い用紙だったと思う。
誰かが(意図せず)無限ループにしてしまって、いつまでも印刷が止まらない、紙が出続けるなんてハプニングは度々あった。
さすがにMZ-1P07のインクリボンは手に入らないだろうけど、ドットプリンタ用のインクリボンは各社あるので、寸法など合うものがあれば中身だけ詰め替えて使えないものか。
手や周囲が真っ黒になるので、あまりやりたくない作業であるが・・・
文字を重ね打ちして濃度を調整し、アニメのキャラをプリントするプログラムがあって、また出力してみたい。(まほーの天使とか)
ATMの通帳記帳はドットプリンタと思われる。今は、これぐらいか。
伝票など、ドットプリンタで印字したような物は時々見かける。
調べてみると、連続用紙は今でも売っている。だけどずいぶん値段が高い。
MZ-1P07で使っていたのは10インチ幅のもの。
学生時代は汎用コンピュータ(メインフレーム)でCOBOL実習をしたけど、もうちょっと幅の広い用紙だったと思う。
誰かが(意図せず)無限ループにしてしまって、いつまでも印刷が止まらない、紙が出続けるなんてハプニングは度々あった。
さすがにMZ-1P07のインクリボンは手に入らないだろうけど、ドットプリンタ用のインクリボンは各社あるので、寸法など合うものがあれば中身だけ詰め替えて使えないものか。
手や周囲が真っ黒になるので、あまりやりたくない作業であるが・・・
文字を重ね打ちして濃度を調整し、アニメのキャラをプリントするプログラムがあって、また出力してみたい。(まほーの天使とか)