Windows11の復活
2025.09.20
起動しないということで持ち込まれたPC、修理依頼
わりと新しい機種(組立PC)で、ボード等を取り替えて試したが結局だめだったという。
こちらで試したら正常に起動するようになり、結局なんだったんだろう。微妙な状態だったのかもしれない。
その作業の中で感じたことは、
セットアップ中にはスクリーンセーバー(画面表示が消える)は不要じゃないかと。
表示が消えているので、何かの処理をしているものと勘違いしてしまったからです。
じつは何も進んでなくて、結果的には操作待ちでした。
LANのLEDがピカピカ点滅していて何かダウンロードしているように見えたので、なおさら、処理中かと思ったわけです。
数十分、様子を見ているとその点滅が落ち着いたので、処理が終わったのかなと思いました。
画面真っ黒のまま、ずいぶん時間がかかるなあ、と思い、支障のないキー、SHIFTとかCTRLを押してみると画面が出て、
じつは「続行する」の入力待ちだったというわけ。
しかし、その「続行する」は先ほどもクリックしたけど先に進まないのです。
クリックして処理が始まったものと思ったわけ。
何も表示が変化しないから、内部的に処理が進行中で反応が重いのかなと、勝手に思ったといえばそうです。
「続行する」は何度クリックしても反応がなく、
ウィンドウの右上の☓を押すと、あっさりと次の手順へ進みました。なんじゃこりゃ?
最終的には復旧を終えることができましたけれど、あの待っていた時間は何だったんだろうと。
LANのLEDピカピカは、たぶんWindowsのアップデートか何かがバックグラウンドで進んでいたのかもしれません。
ただ、何をやっているのかがわからないのも、また悩みのタネです。
一部始終を録画していなかったのでよく覚えていません。
「続行する」をクリックした後、画面が変わって、何かくるくる点々(笑)が回る表示がしばらく続いて、何度か画面が切り替わって最終的には真っ黒になったんじゃないかな。
その時にスクリーンセーバーで真っ黒になっただけか。(キーやマウス操作をしないから)
結局、さっきの「続行する」の入力待ちに戻ってきた。
わりと新しい機種(組立PC)で、ボード等を取り替えて試したが結局だめだったという。
こちらで試したら正常に起動するようになり、結局なんだったんだろう。微妙な状態だったのかもしれない。
その作業の中で感じたことは、
セットアップ中にはスクリーンセーバー(画面表示が消える)は不要じゃないかと。
表示が消えているので、何かの処理をしているものと勘違いしてしまったからです。
じつは何も進んでなくて、結果的には操作待ちでした。
LANのLEDがピカピカ点滅していて何かダウンロードしているように見えたので、なおさら、処理中かと思ったわけです。
数十分、様子を見ているとその点滅が落ち着いたので、処理が終わったのかなと思いました。
画面真っ黒のまま、ずいぶん時間がかかるなあ、と思い、支障のないキー、SHIFTとかCTRLを押してみると画面が出て、
じつは「続行する」の入力待ちだったというわけ。
しかし、その「続行する」は先ほどもクリックしたけど先に進まないのです。
クリックして処理が始まったものと思ったわけ。
何も表示が変化しないから、内部的に処理が進行中で反応が重いのかなと、勝手に思ったといえばそうです。
「続行する」は何度クリックしても反応がなく、
ウィンドウの右上の☓を押すと、あっさりと次の手順へ進みました。なんじゃこりゃ?
最終的には復旧を終えることができましたけれど、あの待っていた時間は何だったんだろうと。
LANのLEDピカピカは、たぶんWindowsのアップデートか何かがバックグラウンドで進んでいたのかもしれません。
ただ、何をやっているのかがわからないのも、また悩みのタネです。
一部始終を録画していなかったのでよく覚えていません。
「続行する」をクリックした後、画面が変わって、何かくるくる点々(笑)が回る表示がしばらく続いて、何度か画面が切り替わって最終的には真っ黒になったんじゃないかな。
その時にスクリーンセーバーで真っ黒になっただけか。(キーやマウス操作をしないから)
結局、さっきの「続行する」の入力待ちに戻ってきた。
初期値の話
2025.09.19
EEPROMやバックアップRAMに、設定内容などを書き込んでおき、起動時に読み込む事で初期設定に反映する、といった使い方は良くあります。
この時、読み込んだ値が正常な範囲か、妥当な値であるかを必ずチェックして、もし問題があれば適切に処理することが重要です。
ふ~ん、という感じですが、一度失敗すると良くわかります。
EEPROMやバックアップRAMの内容は、何らかの原因で化けることがあります。
そして、EEPROMは新品の状態で0xFFになっています。
これらの事実を前提にして、そういった異常値で誤作動しないよう、プログラムに対策を組み込みます。
EEPROMの初期値問題は、ずっとデバッグに使っていた試作機だと気づかないことです。初めて製品版の基板を動かす時に、アレッとつまずくのです。新品のEEPROMは0xFFだから。
たとえば、ある設定内容は1~10の範囲を前提としているのに、0xFFが来たらおかしなことになります。
ただ単にEEPROMを読み込んで、その値をそのまま使ってはいけないのです。値が規定範囲に有るか、もし外れていたら初期値に戻すといった処理が必要です。
意外と市販の製品でも考慮されていない物があるようです。
自分の修理仕事の経験でも、回路的には正常なのにどうしても動かないものがありました。他社さんが修理をギブアップして、うちに回ってきました。
結局それはEEPROMの内容が化けていて、起動時に読み込んだ異常値で暴走していたことがわかってきました。
幸いなことに正常な個体が有り、そこからEEPROMの内容を複写してやると、正常に動くようになりました。
原因はリセット回路がいい加減で、特に電源を切った時のゆっくりした電圧低下で暴走し、その時にEEPROMを誤って書き換えていたようです。対策として、電圧検出ICを追加し、ある電圧より下がったらマイコンが動かないように止めるようにしました。
普段操作しない場所に押しボタンを隠しておき、あるいはディップスイッチの空いている所を利用するか、とにかくそれをONにしたまま電源を入れると、EEPROMがクリアされてデフォルト値が書き込まれるようにする仕掛けをするのも良いでしょう。
この時、読み込んだ値が正常な範囲か、妥当な値であるかを必ずチェックして、もし問題があれば適切に処理することが重要です。
ふ~ん、という感じですが、一度失敗すると良くわかります。
EEPROMやバックアップRAMの内容は、何らかの原因で化けることがあります。
そして、EEPROMは新品の状態で0xFFになっています。
これらの事実を前提にして、そういった異常値で誤作動しないよう、プログラムに対策を組み込みます。
EEPROMの初期値問題は、ずっとデバッグに使っていた試作機だと気づかないことです。初めて製品版の基板を動かす時に、アレッとつまずくのです。新品のEEPROMは0xFFだから。
たとえば、ある設定内容は1~10の範囲を前提としているのに、0xFFが来たらおかしなことになります。
ただ単にEEPROMを読み込んで、その値をそのまま使ってはいけないのです。値が規定範囲に有るか、もし外れていたら初期値に戻すといった処理が必要です。
意外と市販の製品でも考慮されていない物があるようです。
自分の修理仕事の経験でも、回路的には正常なのにどうしても動かないものがありました。他社さんが修理をギブアップして、うちに回ってきました。
結局それはEEPROMの内容が化けていて、起動時に読み込んだ異常値で暴走していたことがわかってきました。
幸いなことに正常な個体が有り、そこからEEPROMの内容を複写してやると、正常に動くようになりました。
原因はリセット回路がいい加減で、特に電源を切った時のゆっくりした電圧低下で暴走し、その時にEEPROMを誤って書き換えていたようです。対策として、電圧検出ICを追加し、ある電圧より下がったらマイコンが動かないように止めるようにしました。
普段操作しない場所に押しボタンを隠しておき、あるいはディップスイッチの空いている所を利用するか、とにかくそれをONにしたまま電源を入れると、EEPROMがクリアされてデフォルト値が書き込まれるようにする仕掛けをするのも良いでしょう。
シンプルZ80マイコン(11)
2025.09.18
高校の実習教科書に、Z80じゃないけど8085をステップ実行させる実習課題があったのを思い出しました。
ROMどころかRAMも無いのです。
RAMが有れば、RAMにプログラムを書き込む仕組みもいるでしょう。おのずと配線は複雑になる。
そこで、ゴッソリと削ぎ落とし、本当に最低限の構成とする。
スイッチからひとつずつ命令を与えて実行するという仕組み。
操作するあなた自身がROMやRAMの働きをするというわけ。
だから、アドレスを指定するスイッチも無い。
1命令サイクルを実行し、その都度結果を確認して、考えた通りに動いている事を確認していく。
究極のシンプルマイコンボード?じゃないかと思います。
不便は不便よ、確かに。
ですが、動きを理解するには良い教材だと思いました。あくまでも教材なのです。実用品ではありません。(この点を勘違いしないように)
Z80でも同様にやれるでしょうけど、さすがにそこまで省略したものは見たことがない。
NMOSのZ80だと内部ダイナミック構成で、要するに最低クロックが決まっているから1Hzとか手動では動かせない。
CMOSのZ80ならOK。たとえばTMPZ84C00とか。
クロック1発ずつ入れて、それぞれの信号の動きを確かめていく。
私が初めて読んだコンピュータの本
「ニャロメのおもしろコンピュータ探検」
いまだに覚えていて、CPUが命令を取り込んで実行するまでの話だったと思うけど、
「人間がスイッチをひねるには10分の1秒もかかるね」「そんなのまだるっこしくて待ってられないッスよ」といったやりとりがありました。
そこで、この超シンプルマイコンボードは、CPUのクロックを極端に遅くすることで人間様のほうが速いという逆の立場になるわけです。
クロックは人間様が握っているのです。CPUの心臓を動かすも止めるも人間しだいです。
それにしても、スイッチを「ひねる」という言い方。いまでは絶対言わないね。
もはや「ポチッとな」と押すようなスイッチも希少。
スイッチをひねる、なんて言うのは真空管ラジオじゃないかと思います。
「ひねる」この言葉、気に入っています。
ROMどころかRAMも無いのです。
RAMが有れば、RAMにプログラムを書き込む仕組みもいるでしょう。おのずと配線は複雑になる。
そこで、ゴッソリと削ぎ落とし、本当に最低限の構成とする。
スイッチからひとつずつ命令を与えて実行するという仕組み。
操作するあなた自身がROMやRAMの働きをするというわけ。
だから、アドレスを指定するスイッチも無い。
1命令サイクルを実行し、その都度結果を確認して、考えた通りに動いている事を確認していく。
究極のシンプルマイコンボード?じゃないかと思います。
不便は不便よ、確かに。
ですが、動きを理解するには良い教材だと思いました。あくまでも教材なのです。実用品ではありません。(この点を勘違いしないように)
Z80でも同様にやれるでしょうけど、さすがにそこまで省略したものは見たことがない。
NMOSのZ80だと内部ダイナミック構成で、要するに最低クロックが決まっているから1Hzとか手動では動かせない。
CMOSのZ80ならOK。たとえばTMPZ84C00とか。
クロック1発ずつ入れて、それぞれの信号の動きを確かめていく。
私が初めて読んだコンピュータの本
「ニャロメのおもしろコンピュータ探検」
いまだに覚えていて、CPUが命令を取り込んで実行するまでの話だったと思うけど、
「人間がスイッチをひねるには10分の1秒もかかるね」「そんなのまだるっこしくて待ってられないッスよ」といったやりとりがありました。
そこで、この超シンプルマイコンボードは、CPUのクロックを極端に遅くすることで人間様のほうが速いという逆の立場になるわけです。
クロックは人間様が握っているのです。CPUの心臓を動かすも止めるも人間しだいです。
それにしても、スイッチを「ひねる」という言い方。いまでは絶対言わないね。
もはや「ポチッとな」と押すようなスイッチも希少。
スイッチをひねる、なんて言うのは真空管ラジオじゃないかと思います。
「ひねる」この言葉、気に入っています。
2025.09.20 08:30
|
