ようこそテクノおじさんホームページへ!(2022年3月1日号)

旧アイテム(1月)は過去ログ倉庫を参照ください。202201_1
旧アイテム(2月)は過去ログ倉庫を参照ください。202201_2
時の経つのは速いものでもう3月です。早くコロナが沈静化する日が待たれます。
「年年歳歳花相似 歳歳年年人不同」(唐詩選)(ねんねんさいさいはなあいにたりさいさいねんねんひとおなじからず)という漢詩がありますがコロナでじっとしていると
自分は毎年どのくらい変化しているのだろうかと思ってしまいます。 さて今回は「温故知新」というテーマでかつて計算に使っていた「BASIC言語」を取り上げてみました。お暇なときにお読みください。

BASIC言語の今と昔
    はじめに
    30年ほど前業務上必要な計算ソフトは手作りでした. その時に使っていたソフトウェアはベーシック, C 言語, PASCAL などでした.
    主に PC 98の時代でしたから決して計算が早いわけではありません.しかし最近のパソコンの能力はその時代とは比べ物にならないくらい
    高性能になっております.
    最近の若い人は自分でソフトウェアを作るわけではなく Microsoft Excel などを使って計算する人がほとんどになりました.
    実際に自分で計算したいものに関してはやはり自作するしかありません.
    そこで昔使っていた N 88 BASIC と最近の計算ソフトの違いについて改めて調査してみました.
  • N88BASIC
    N88BASIC は PC 98時代に盛んに使われたインタープリター型 BASIC 言語です.当時の PC はクロック周波数が10メガから30メガヘルツ
    ぐらいで決して速いとは言えません.それでもこのソフトウェアは結構有益に使えました.当然 Windows が主流になる今の時代では
    このソフトは使えません.しかし Windows 上でそっくり N 88 BASIC のコマンドが使える言語が未だに存在します.
    N 88 BASICに 使い慣れた人ならすぐ使うことができます.1行1行のインタープリターなので速度は最新の PC でも早いとは言えません.
    ただ簡単に使えるのが最大のメリットでしょう.
     
  • QuickBasic
    クイックベーシックは Microsoft が IBM PC あるいは NEC PC 98用に作ったベーシックです。リファレンスが充実しよくできた
    ソフトウェアでした。今でもWindows10で動作するものがありQBasicという名で存在します。インタープリタ言語のため動作は
    速くはありません。今となってはもう使わないでしょう。
  • Pascal
    パスカルはコンパイラ言語なので実行はさすがに当時のPCでも速かったです。しかし文法が厳格なためとくに 実効速度があまり問題のない場合には
    N88BASIC が使われました。 パスカルは当時は Borland 社のdelphiが有名ですが今では好んで使う人がいるかどうかはわかりません。 Windows 時代でも delphi プログラムは存在するようです。
  • QuickC
    クイック Cは 入門用 C 言語のコンパイラーです。ベーシックインタープリターに比べて実行速度はさすがに速いです。
    Windows 版クイック C が入手できないものかとしばらく探していたのですがもうどこにもありません。このような入門用言語は
    残していただきたいものです。
  • Microsoft Visual Basic
    Microsoft Visual Basic は Windows 上で動く構造化言語です。オブジェクト指向の言語としてよくできておりました。
    Windows画面上に命令ボタンやスライドバーなど豊富な要素が簡単に設定できとても気に入っていました。
    しかし Microsoft はこの言語を Windows 10では使えないようにしてしまいました。大変残念なことです。
    初期の Windows 10では VB 6が使えるという情報はありましたが最近私が VB 6をインストールしようとしても実行時にエラーが頻発し
    使い物になりませんでした。これも大変残念なことだと思います。


    最近のソフトウェア

    最近のプログラム開発ソフトウェアとして注目されるものを調査してみました。
    BASIC プログラム系
  • Microsoft small BASIC
    このソフトは Windows 上で使えるベーシックソフトです。ベーシックですが基本的にはコンパイラ言語です。
    構造化されたプログラム体系で Visual Basic によく似ております。ただしN88 BASIC ようなプログラム体系ではありません。
    Microsoft 製だけあってネット上でのリファレンスは大変充実しております。コンパイラ言語なので実行速度は大変速いです。
    N88Basicに慣れた人は最初プログラミングの違いに戸惑うことがあるでしょう。無料で使えます。
  • PureBasic
    このソフトもBASIC言語です。使用は有料です.ただしコード行数などの制限付きでの無料版が使えます.
    このソフトの特徴は非常に実行速度が速いということです.ただ他のベーシック言語との互換性はほとんどありません.
    またVisual BasicのようなWindows 要素も使うことができます。VBに慣れている人はこれを使うことをお勧めします。
    オーディオ関係のソフトも開発可能です。 基本的にはコンパイラ言語です.コンパイラによる機械語への翻訳は非常に優秀だと思われます. ウェブのインストラクションも充実しています。
    有料版の購入はドイツの銀行口座宛に約80€を払い込む必要がありますが日本国内の銀行から払い込むには円€為替手数料などで5000円近く必要です。
    一万円の商品に手数料5000円はちょっと。
  • VB.Net
    マイクロソフトの統合化開発環境です。この中にはVisual StudioがありVisual Basic,Visual Cなどが使えます。ただしこれは本格的にNet環境を含む
    大規模なソフトウェア開発を行うためのツールだと思います。小さなソフトを作るにはあまりにも大きすぎて太刀打ちできません。

    以上のように使い慣れたN88Basicからの乗り換えとしてはPureBasicがよろしいのではないかと思います。
  • C言語、Pythonの習得を効率的に行う方法

  • C言語、Pythonは主目的として計算したりグラフを作成したりするための言語ではありませんが特殊な処理をするためには必要になってきます。
    これらは一応初歩的な部分を習得しておく必要があります。その適用例を紹介します。
    まずC言語はイタリアで開発されたマイコン基板Arduinoで勉強するのがよいと思います。決して深いレベルのコマンドは使いません。BASIC言語ライクなC言語です。
    Arduinoを使ってシリアル通信デバイス、I2Cデバイス、I2Sデバイス、SPIデバイス、TFT表示デバイス、などを使うためのC言語ソフトを作るとソフト作成能力が
    向上します。同じくPythonですがこれはRaspberry PIを使ったプログラム開発で多用されています。Pythonスクリプトと呼ばれる記述言語を用いてプログラムが
    走ります。Raspberry PIでは通常RaspbianというLinux系OSが使われますのでこのOS上でPythonが動作します。プログラムとしてはコマンド記述方法が厳格です。

--------------------------------------------------------------------------------------------------------------------------

最近トライした技術アイテム
  • BIOSロックされたPCのロック解除について考察
    Windows11がWindows10に代わって登場しましたがTPM2というセキュリティチップとSecureBoot機能を備えていないPCにはインストールできないようになっております。このため
    企業の使っているWindows10のノートPCがそろそろ大量に交換期を迎えることになりますがこのためか最近目立つのがBIOSロックのかかったPCが多くジャンク市場に出回るようになったことです。
    BIOSロックがかかるとOSのインストールなどなにもできなくなってしまいます。そこでBIOSロックを解除する方法について調べてみました。
    参考になるのがドッグバートさんのブログです。ドッグバートさんのブログはここ
    このブログからわかるのは富士通製、DELL製、Compac製、Hp製PCは解除可能性が高いということです。ほかにもASUS製、Sony製も可能性ありです。具体的にはパスワードインプット画面にある
    仮パスワードをインプットするとハッシュコードと呼ばれる文字列または数字列が出てきます。このハッシュコードをソフトで解析し解除のためのパスワードが生成されます。
    このソフトはPythonスクリプトで書かれています。Windows10のPCにPython2系をインストールするとPythonスクリプトが走ります。
    難度の高いPCはパナソニック製、東芝製です。これらはハッシュコードをアウトプットしません。ジャンク市場で多いのがこれらの機種です。
    これらの機種ではBIOSロックのかかっていない同じ機種を用意しこのPCのBIOS ROMからデータを読み出します。次にロックのかかったPCを分解しBIOS ROMに直接データを書き込むことにより
    ロックを解除できるみたいです。BIOSロックのかかっていないPCは画面が割れているとか電源が壊れているとかかなり安く手に入らないと意味がありません。
    BIOS ROMはどこのメーカPCでもI2CまたはSPIのインターフェイスで読み書きができます。一度トライしてみたいと思っております。
  • ASUSの壊れたBIOS復帰にトライしたが失敗
    ASUS X99-Aというマザーボードを使ったデスクトップPCが壊れました。全く起動しないのでBIOSのデータを読み込んでみましたらBIOSが立ち上がるための情報が欠落しているのが分かりました。
    ASUSマザーの厄介なところは使っているEtherNetのMACアドレス、マザーボードのシリアルナンバー、マザーボードの固有IDであるUUIDコードが必要です。私の場合シリアルナンバーとUUIDがROMから
    なくなっていました。UUIDはどこにも見つからず適当なものを入れても結局立ち上げることはできませんでした。ASUS以外のマザーボードは各社が提供しているBIOSデータだけで復帰できるそうです。
    ROMデータ吸い上げに用いたUSBデバイスはこちらです。
  • Windows11を旧PCにインストールしてみました
    私の所有するPCはすべてWindows11をインストールできる要件を満たしていません。かねてからWindows11がWindows10とどう変化しているか一度確かめたいと思っていました。
    そこで使っていないマザーボードを用いてWindows11をインストールしてみました。インストールの手順は以下のようになります。Windows8.1をインストール→
    Windows8.1をアクティベート→Windows10にアップグレード→Windows11にアップグレード。Windows11にアップグレードするためにはマイクロソフトからダウンロードした
    ISOイメージファイルを使います。
    しかしこのDVDからインストールすると要件を満たしていないとはじかれます。そこでRufusというWindows11のUSBブートメディア作成ツールを使います。
    最新のRufusにはWindows11のISOイメージを指定するとnoTPM2,noSecureBootというオプション設定ができます。このようにして作成したUSBメディアを使うと
    Windows11がインストールできます。
    デスクトップ画面はよく似ていますが違います、まず違和感のあるのはWindows10では左端のWindowsマークをクリックするとアプリの一覧がすぐみられるのですが
    これができません。
    メールはこちら